MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Patcher l'API REST pour la mise à jour partielle de MongoDB dans .NET

Vous pouvez utiliser

IMongoUpdate updateDoc = new UpdateDocument("$set", doc);
collection.Update(Query.EQ("_id",id), updateDoc);

Cependant, vous devez être prudent.

Si vous désérialisez d'abord votre document dans SomeObject, tous les champs prendront leur valeur par défaut (null pour les chaînes, 0 pour les entiers, etc.). Et si vous utilisez cet objet pour la mise à jour, les champs qui n'existaient pas dans votre chaîne json seraient mis à jour à leur valeur par défaut.

Si vous utilisez

var bsonDoc = BsonSerializer.Deserialize<BsonDocument>(jsonString);  
IMongoUpdate updateDoc = new UpdateDocument("$set", bsonDoc);
collection.Update(Query.EQ("_id",id), updateDoc);

votre document sur la base de données sera mis à jour uniquement pour les champs présents dans votre jsonString