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

UpdateOneAsync पर एक्सप्रेशन ट्री समर्थित नहीं है

समस्या तब शुरू होती है जब आप अपना Update बनाने का प्रयास कर रहे होते हैं बयान। जैसा कि आप शायद जानते हैं -1 एक सूचकांक के रूप में पारित किया जाएगा अनुवादित $ पोजिशनल ऑपरेटर को . दस्तावेज़ीकरण कहते हैं कि

इसके अतिरिक्त आप SingleOrDefault . का उपयोग करके अपनी फ़िल्टरिंग स्थिति बनाने का प्रयास कर रहे हैं और .NET MongoDB ड्राइवर किसी भी MongoDB क्वेरी सिंटैक्स ऑपरेटर में अनुवाद करने में सक्षम नहीं है।

इसे कैसे ठीक करें?

पोजिशनल ऑपरेटर का उपयोग करने के बजाय आप पोजिशनल फ़िल्टर्ड ऑपरेटर का उपयोग करने का प्रयास कर सकते हैं वाक्य रचना।

var filter = Builders<NodeBoardModel>.Filter.Eq(f => f.Id, sId);
var update = Builders<NodeBoardModel>.Update.Set("RemoteBoard.apps.$[app].objects.$[object].config_docs.$[configdoc].config_dt", dtUpdated);

var arrayFilters = new List<ArrayFilterDefinition>();
ArrayFilterDefinition<BsonDocument> appFilter = new BsonDocument("app.appname", new BsonDocument("$eq", sAppName));
ArrayFilterDefinition<BsonDocument> objectFilter = new BsonDocument("object.name", new BsonDocument("$eq", sModelName));
ArrayFilterDefinition<BsonDocument> configDocFilter = new BsonDocument("configdoc.config_id", new BsonDocument("$eq", iObjectId));

arrayFilters.AddRange(new[] { appFilter, objectFilter, configDocFilter });

var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };

var res = Col.UpdateOne(filter, update, updateOptions);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 'अपरिभाषित' या 'शून्य' की संपत्ति `उपयोगकर्ता` को नष्ट नहीं कर सकता

  2. एक मोंगोडब संग्रह को डुप्लिकेट करें

  3. MongoDB:संग्रह में प्रत्येक दस्तावेज़ को अद्यतन करना

  4. MongoDB हम सभी वर्तमान खुले कर्सर और उनके द्वारा चलाए जा रहे प्रश्नों को कैसे प्राप्त करते हैं?

  5. पूर्ण पाठ को अन्य अनुक्रमणिका के साथ संयोजित करें