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. Как да върна броя на актуализираните обекти в mongodb?

  2. Как да стартирате js файл в mongo с помощта на spring data

  3. Как да дефинирам делиметър за импортиране на mongodb

  4. проблем с отворена връзка на mongodb

  5. Поддържане отворена връзка с база данни MongoDB