sql >> Base de Datos >  >> NoSQL >> MongoDB

Parche API REST para actualización parcial de MongoDB en .NET

Puedes usar

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

Sin embargo, debes tener cuidado.

Si primero deserializa su documento en SomeObject, todos los campos obtendrán su valor predeterminado (nulo para cadenas, 0 para enteros, etc.). Y si usa ese objeto para la actualización, los campos que no existían en su cadena json se actualizarían a su valor predeterminado.

Si usas

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

su documento en la base de datos se actualizará solo para los campos que están presentes en su jsonString