गुणा '-1'
. के साथ काम नहीं करने का कारण क्योंकि यह पोजिशनल ऑपरेटर
जैसा ही है। $
. "नेस्टेड एरेज़" विषय के तहत आधिकारिक दस्तावेज़ीकरण में हम आगे देख सकते हैं:
MongoDb 3.6 . से नई विशेषताएं हैं जो नेस्टेड सरणियों के साथ काम करने की अनुमति देती हैं।
फ़िल्टर किए गए पोजिशनल ऑपरेटर :
तो, फ़िल्टर किए गए स्थिति ऑपरेटर का उपयोग करके मेरा कोड अब इस तरह दिखता है:
await coll.UpdateOneAsync(x => x.StoreGuid == storeGuid,
Builders<StoreModel>.Update.Set("configGroup.$[g].config.$[c].value", model.Value),
new UpdateOptions
{
ArrayFilters = new List<ArrayFilterDefinition>
{
new BsonDocumentArrayFilterDefinition<BsonDocument>(new BsonDocument("g.groupName", groupName)),
new BsonDocumentArrayFilterDefinition<BsonDocument>(new BsonDocument("c.key", model.Key))
}
});