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

मोंगो अद्यतन सरणी तत्व (.NET ड्राइवर 2.0)

मुझे यह पता लगाने में थोड़ा समय लगा क्योंकि यह किसी भी आधिकारिक दस्तावेज (या कहीं और) में उल्लेखित नहीं है। हालाँकि मुझे यह उनके इश्यू ट्रैकर पर मिला, जो बताता है कि पोजिशनल ऑपरेटर का उपयोग कैसे करें $ C# 2.0 ड्राइवर के साथ।

यह वही करना चाहिए जो आप चाहते हैं:

public void UpdateItemTitle(string agendaId, string itemId, string title){
    var filter = Builders<TempAgenda>.Filter.Where(x => x.AgendaId == agendaId && x.Items.Any(i => i.Id == itemId));
    var update = Builders<TempAgenda>.Update.Set(x => x.Items[-1].Title, title);
    var result = _collection.UpdateOneAsync(filter, update).Result;
}

ध्यान दें कि आपका Item.Single() क्लॉज को Item.Any() में बदल दिया गया है और फ़िल्टर परिभाषा में ले जाया गया।

[-1] या .ElementAt(-1) जाहिरा तौर पर विशेष रूप से व्यवहार किया जाता है (वास्तव में सब कुछ <0) और स्थितीय ऑपरेटर के साथ प्रतिस्थापित किया जाएगा $

उपरोक्त का इस प्रश्न में अनुवाद किया जाएगा:

db.Agenda.update({ AgendaId: 1, Items.Id: 1 }, { $set: { Items.$.Title: "hello" } })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ प्रकार के साथ एक सरणी से मेल खाता है?

  2. Mongodb, $lookup . के साथ कुल क्वेरी

  3. दूरस्थ कनेक्शन सुनने के लिए Linux पर MongoDB प्राप्त करना

  4. MongoDB प्रतिकृति सेट के लिए SELinux को कैसे कॉन्फ़िगर करें

  5. MongoDB बैकअप विकल्पों की समीक्षा