MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Masukkan atau perbarui subdokumen dengan aman di MongoDB

Sudahkah Anda melihat AddToSet metode ini, jika Anda menggunakan ini dalam kombinasi dengan fungsi pembaruan alih-alih yang menggantikannya, itu harus menjaga kontrol yang lebih baik atas atom Anda.

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

collection.UpdateOne(itemFilter, updateBuilder);

Seperti dalam kasus Anda.

    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. Bagaimana cara menangkap MongoSecurityException?

  2. Buat $elemMatch (proyeksi) mengembalikan semua objek yang cocok dengan kriteria

  3. KIRI GABUNG dengan GROUP oleh di MongoDB

  4. Spark - Bagaimana cara membuat variabel yang berbeda untuk setiap konteks pelaksana?

  5. Meteor memakan banyak koneksi Mongo