sql >> Database >  >> NoSQL >> MongoDB

Patch REST API om MongoDB gedeeltelijk te updaten in .NET

U kunt

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

U moet echter voorzichtig zijn.

Als u uw document eerst deserialiseert in SomeObject, krijgen alle velden hun standaardwaarde (null voor strings, 0 voor ints enz.). En als u dat object voor de update gebruikt, worden de velden die niet in uw json-tekenreeks bestonden, bijgewerkt naar hun standaardwaarde.

Als u

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

uw document in de database wordt alleen bijgewerkt voor de velden die aanwezig zijn in uw jsonString



  1. Ongeldige operator '$size' in aggregatie

  2. Mongoïde willekeurig document

  3. Laravel Homestead Mongo-installatie veroorzaakt PHP-fout undefined symbool:php_json_serializable_ce in Unknown on line 0

  4. MongoDB zoek vergelijking met CurrentDate