MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Patch API REST para atualização parcial do MongoDB no .NET


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

No entanto, você deve ter cuidado.

Se você primeiro desserializar seu documento em SomeObject, todos os campos terão seu valor padrão (nulo para strings, 0 para ints etc). E se você usar esse objeto para a atualização, os campos que não existiam em sua string json seriam atualizados para o valor padrão.

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

seu documento no banco de dados será atualizado apenas para os campos que estão presentes em seu jsonString