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

MongoDB $पुल सिंटैक्स

आपके "सेकेंडअरे" में एक नेस्टेड तत्व संरचना है, इसलिए आपको उस बाहरी तत्व की पहचान करनी चाहिए जिसे आप अपनी क्वेरी में एक स्थितिगत $ का उपयोग करते समय मिलान करना चाहते हैं। अद्यतन में ऑपरेटर। आपको मूल रूप से कुछ इस तरह चाहिए:

bulk.find({ 
    "_id": new mongo.ObjectID(req.session._id), 
    "secondArray._id": "7423" 
}).update({
    "$pull": { 
        "firstArray": { "_id": "153" },
        "secondArray.$.firstArrayIds": 153
    }
});

तो वास्तव में "दो" आईडी मान हैं जिन्हें आपको सामान्य दस्तावेज़ आईडी के अतिरिक्त अपने अनुरोध के साथ पास करने की आवश्यकता है। भले ही यह नेस्टेड है, यह ठीक है क्योंकि आप केवल "बाहरी" स्तर पर और केवल एक सरणी पर मेल खाते हैं। यदि आपने एक से अधिक सरणी पर स्थिति का मिलान करने का प्रयास किया है तो यह स्थितीय ऑपरेटर के साथ संभव नहीं है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में इंडेक्स नहीं बना सकता, कुंजी इंडेक्स के लिए बहुत बड़ी है

  2. MongoDB:यदि आप $addToSet या $push का उपयोग कर रहे हैं तो क्या आपको किसी दस्तावेज़ को पूर्व-आवंटित करना चाहिए?

  3. MongoDB सरणी संपत्ति द्वारा फ़िल्टर केवल तभी मौजूद है

  4. अलग रिकॉर्ड मान प्राप्त करें

  5. मोंगोडब अपरर्ट डुप्लीकेटकीएक्सप्शन फेंक रहा है