sql >> Databáze >  >> NoSQL >> MongoDB

C# MongoDB Driver – Jak používat UpdateDefinitionBuilder?

Pokud potřebujete jednoduše aktualizovat více vlastností, můžete zavolat Set na update builder a poté proveďte následné volání Set metody rozšíření. Můžete použít výraz lambda nebo název vlastnosti.

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

collection.UpdateOneAsync(filter, update, updateOptions);

Pokud chcete podmíněně aktualizovat některé vlastnosti, měli byste vytvořit kolekci aktualizací a poté je zkombinovat:

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. HDFS Disk Balancer Úvod, operace a funkce

  2. MongoDB:V cestě bylo nalezeno příliš mnoho pozičních (tj. '$') prvků

  3. Jak mohu vrátit pole objektů mongodb v pymongo (bez kurzoru)? Dokáže to MapReduce?

  4. Nelze deserializovat PyMongo ObjectId z JSON