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

सी # - मोंगोडीबी - नेस्टेड दस्तावेज़ के अंदर एक तत्व अपडेट करें

सबसे पहले, आपको संस्करण 3.6.1 db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } ) की नई सुविधाओं को लागू करने के लिए अपने MongoDB में इस कमांड को चलाने की आवश्यकता है।

उस अपडेट के लिए आपको जो कोड चाहिए वह यहां दिया गया है:

var filter = Builders<YOUR_CLASS>.Filter.Eq("_id", new ObjectId("5a55775cbd12982cc063c71a"));
var update = Builders<YOUR_CLASS>.Update.Set("Cartons.$[i].Skus.$[j].ShippedQuantity", 50);

var arrayFilters = new List<ArrayFilterDefinition>
{
    new BsonDocumentArrayFilterDefinition<Setup>(new BsonDocument("i._id", new ObjectId("5a5575bcbd12982cc063b718"))),
    new BsonDocumentArrayFilterDefinition<Setup>(new BsonDocument("j._ID", new ObjectId("5a5575bcbd12982cc063b719")))
};
var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };
var (updated, errorMessage) = await UpdateOneAsync(filter, update, updateOptions);

इसके अतिरिक्त, आप अपने अंतिम प्रश्नों को देखने के लिए इन सेटिंग्स को अपने MongoDB में चला सकते हैं और उन्हें डीबग करने के लिए RoboMongo या Studio 3T में मैन्युअल रूप से चला सकते हैं:

db.setProfilingLevel(2)   -> to view query logs under C:\data\log\mongod.log
db.setLogLevel(5)         -> to view query logs under C:\data\log\mongod.log

लॉग फ़ाइल में "अद्यतन" क्वेरी देखें। उसके बाद, आप लॉग सेटिंग को वापस 0

. पर रीसेट कर सकते हैं
db.setProfilingLevel(0)
db.setLogLevel(0)

मुझे भी यही समस्या हुई है और मैंने वही प्रश्न पूछा है इस पर एक नज़र डालें।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एकत्रीकरण ढांचे में $स्किप और $लिमिट

  2. नेवला में वजन के साथ पूर्ण पाठ खोज

  3. मोंगोडीबी $atan

  4. कठपुतली का उपयोग करके MongoDB परिनियोजन और रखरखाव के लिए एक गाइड:भाग 2

  5. MongoDB $dateFromParts