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

MongoDB में सुरक्षित रूप से उप-दस्तावेज़ डालें या अपडेट करें

क्या आपने AddToSet को देखा है विधि, यदि आप इसे प्रतिस्थापन के बजाय अद्यतन फ़ंक्शन के संयोजन में उपयोग करते हैं तो इसे आपकी परमाणुता का बेहतर नियंत्रण रखना चाहिए।

var updateBuilder = Builders<Item>.Update.AddToSet(items => items.SubItems, new SubItem());

collection.UpdateOne(itemFilter, updateBuilder);

आपके मामले में ऐसा ही।

    public Task Save(string itemId, SubItem subItem)
    {
        var itemFilter = Builders<Item>.Filter.Eq(v => v.Id, itemId);
        var collection = _db.GetCollection<Item>("Items");

        var updateBuilder = Builders<Item>.Update.AddToSet(items => items.SubItems, subItem);

        collection.UpdateOneAsync(itemFilter, updateBuilder, new UpdateOptions() { IsUpsert = true }).Wait();
    }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. वर्तमान और अगले दस्तावेज़ से मान घटाकर मान प्राप्त करने की क्वेरी

  2. MongoDB स्काला - एक विशिष्ट फ़ील्ड मान के लिए क्वेरी दस्तावेज़

  3. MongoDB Stitch डेटा को संख्या के बजाय $NumberDouble के रूप में लौटाता है

  4. MongoDB में अनुक्रमणिका के पुनर्निर्माण के लिए क्यों और कब आवश्यक है?

  5. कौन से MongoDB प्रकार mongoimport/mongoexport द्वारा संरक्षित नहीं हैं?