MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

तत्व की स्थिति के आधार पर mongoDB में सरणी तत्व को हटाना

दस्तावेज़ीकरण से:

{ $pull : { field : {$gt: 3} } } removes array elements greater than 3

तो मुझे लगता है कि आप अभी के लिए ऐसा कुछ कर सकते हैं:

{ $pull : { field : {$gt: 3, $lt: 5} } } // shoud remove elemet in 4 position 

या स्थिति ऑपरेटर का उपयोग करके अपडेट करने का प्रयास करें , मुझे लगता है कि कुछ इस तरह होना चाहिए:

  { $pull : "field.4" } 

  { $pull : {"field.$": 4}}

यह केवल एक सुझाव है, क्योंकि मैं अभी इसका परीक्षण नहीं कर सकता।

अपडेट करें:

ऐसा लगता है कि आप इसे एक चरण में ठीक से नहीं कर सकते (ऐसा जीरा में बग है )

लेकिन आप स्थिति में सेट न किए गए तत्व का उपयोग करके हटा सकते हैं और उस तत्व को शून्य मान के साथ खींच सकते हैं:

{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मुझे क्या चुनना चाहिए:मोंगोडीबी/कैसंड्रा/रेडिस/काउच डीबी?

  2. Mongoose का उपयोग करके MongoDB एटलस डेटाबेस पर पढ़/लिख नहीं सकता

  3. डोकर-लिखें का उपयोग कर Nodejs के साथ mongoDB से कनेक्ट नहीं कर सकता

  4. Mongodb के साथ अंतिम X मिनट डेटा प्राप्त करने की क्वेरी

  5. MongoDB में $all का उपयोग करके सरणी मानों के मिलान के लिए एकाधिक $elemMatch अभिव्यक्तियां?