MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Patch API REST per l'aggiornamento parziale MongoDB in .NET

Puoi usare

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

Tuttavia, dovresti stare attento.

Se prima deserializzi il tuo documento in SomeObject, tutti i campi otterranno il loro valore predefinito (null per stringhe, 0 per ints ecc.). E se usi quell'oggetto per l'aggiornamento, i campi che non esistevano nella tua stringa json verrebbero aggiornati al loro valore predefinito.

Se usi

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

il tuo documento sul database verrà aggiornato solo per i campi presenti nel tuo jsonString