सबसे पहले, आपको संस्करण 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)
मुझे भी यही समस्या हुई है और मैंने वही प्रश्न पूछा है इस पर एक नज़र डालें।