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

सी # मोंगोडीबी - एकाधिक नेस्टेड सरणी तत्वों में आइटम कैसे जोड़ें और निकालें?

आप 3.6 संस्करण के साथ 2.5 ड्राइवर में नीचे जैसा कुछ आज़मा सकते हैं।

filter . के साथ दस्तावेज़ ढूंढता है मानदंड और update जिसमें नया स्थितिगत पहचानकर्ता शामिल है UpdateOne . के अंदर सरणी में कई तत्वों को अपडेट करने के लिए विधि।

$[] सभी Tags को अपडेट करता है सभी Categories . में नए आइटम को शामिल करने के लिए सरणियाँ सरणी। यह सरणी में सभी तत्वों को अद्यतन करने के लिए प्लेसहोल्डर के रूप में कार्य करता है।

पुश

var filter = Builders<Product>.Filter.Eq("Id", "123");
var update = Builders<Product>.Update.Push("Tags.$[].Categories", "Item 3");
var result = collection.UpdateOne(filter, update);

खींचो

var filter = Builders<Product>.Filter.Eq("Id", "123");
var update = Builders<Product>.Update.Pull("Tags.$[].Categories", "Item 3");
var result = collection.UpdateOne(filter, update);

अतिरिक्त जानकारी:

आप ArrayFilters . सेट कर सकते हैं UpdateOptions . में विकल्प अद्यतन करने के लिए तत्वों को नियंत्रित करने के लिए नेस्टेड सरणी पर क्वेरी मानदंड लागू करने के लिए।

उदाहरण के लिए टैग सरणी में सभी श्रेणियों को अपडेट करने के लिए जहां प्रत्येक टैग में Name . है नाम।

var filter = Builders<Product>.Filter.Eq("Id", "123");
var update = Builders<Product>.Update.Push("Tags.$[t].Categories", "Item 3");
var arrayFilters = new List<ArrayFilterDefinition>{ new ArrayFilterDefinition(new BsonDocument("t.Name", "name")) };
var updateOptions = new UpdateOptions({ArrayFilters = arrayFilters});
var result = collection.UpdateOne(filter, update, updateOptions);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब कुंजी के साथ काम करने वाले किसी भी काम में . या $?

  2. मोंगो संग्रह पर जाने के लिए अक्का धाराओं का उपयोग करना

  3. ClusterControl 1.7.1 की घोषणा:PostgreSQL 11 और MongoDB 4.0 के लिए समर्थन, बेहतर निगरानी

  4. कैसे Node.js में नेवला के साथ पृष्ठांकित करने के लिए?

  5. 'सुडो मोंगोड' के साथ मोंगोड शुरू नहीं करना चाहते हैं