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

सरणी के भीतर नेस्टेड सरणी से आइटम को कैसे अपडेट करें

MongoDB 4.0 में आप $[<identifier>] . का उपयोग कर सकते हैं वाक्यविन्यास और जोड़ें ArrayFilters करने के लिए UpdateOptions पैरामीटर:

var filter = Builders<Model>.Filter.Empty;
var update = Builders<Model>.Update.Set("Options.$[option].Inventory.$[inventory].Name", "New name");

var arrayFilters = new List<ArrayFilterDefinition>();
ArrayFilterDefinition<BsonDocument> optionsFilter = new BsonDocument("option.Id", new BsonDocument("$eq", optionId));
ArrayFilterDefinition<BsonDocument> inventoryFilter = new BsonDocument("inventory.Id", new BsonDocument("$eq", inventoryId));
arrayFilters.Add(optionsFilter);
arrayFilters.Add(inventoryFilter);

var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };

var result = DefaultCollection.UpdateOne(filter, update, updateOptions);

यह विशिष्ट रूप से Inventory . की पहचान करेगा आइटम जिसे Options . के अंदर अपडेट करने की आवश्यकता है




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - व्यवस्थापक उपयोगकर्ता अधिकृत नहीं है

  2. मैक पर मोंगोडीबी कंपास चलाना

  3. किसी सरणी में किसी आइटम को अपडेट करें जो किसी सरणी में है

  4. मैं डीबी में मौजूद उपयोगकर्ता नाम को मान्य करने के लिए नोड.जेएस वादे का उपयोग कर रहा हूं

  5. नेवला अद्यतन गहरी सरणियाँ