MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

C# MongoDB драйвер - Как да използвам UpdateDefinitionBuilder?

Ако трябва просто да актуализирате няколко свойства, можете да извикате Set в инструмента за създаване на актуализации и след това направете последващо извикване на Set методи за разширение. Можете да използвате ламбда израз или име на свойство.

var update = Builders<Product>.Update
    .Set(p => Name, "Name value")
    .Set(p => Description, "Description value");

collection.UpdateOneAsync(filter, update, updateOptions);

Ако искате условно да актуализирате някои свойства, трябва да създадете колекция от актуализации и след това да ги комбинирате:

var update = Builders<Product>.Update;
var updates = new List<UpdateDefinition<Product>>();

updates.Add(update.Set("propertyA", "add A update"));

if ()
    updates.Add(update.Set("propertyX", "add X update"));
else
    updates.Add(update.Set("propertyY", "add Y update"));

updates.Add(update.Set(p => p.PropertyB, "add B update"));

if ()
    updates.Add(update.Set(p => p.PropertyZ, "add Z update"));
else
    updates.Add(update.Set(p => p.PropertyP, "add P update"));

Collection.UpdateOneAsync(filter, update.Combine(updates), updateOptions);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изтрийте всичко в база данни на MongoDB

  2. Има ли многоядрена експлоатираща NoSQL система?

  3. MongoDB Агрегация със сума от стойности на масива

  4. Как да изберете едно поле в MongoDB с помощта на Pymongo?

  5. MongoDB агрегирана сума на обекти в масив