MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Patchen Sie die REST-API, um MongoDB in .NET teilweise zu aktualisieren

Sie können

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

Sie sollten jedoch vorsichtig sein.

Wenn Sie Ihr Dokument zuerst in SomeObject deserialisieren, erhalten alle Felder ihren Standardwert (Null für Zeichenfolgen, 0 für Ints usw.). Und wenn Sie dieses Objekt für die Aktualisierung verwenden, werden die Felder, die in Ihrer JSON-Zeichenfolge nicht vorhanden waren, auf ihren Standardwert aktualisiert.

Wenn Sie

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

Ihr Dokument in der Datenbank wird nur für die Felder aktualisiert, die in Ihrem jsonString

vorhanden sind