sql >> Databáze >  >> NoSQL >> MongoDB

Opravte REST API pro částečnou aktualizaci MongoDB v .NET

Můžete použít

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

Měli byste však být opatrní.

Pokud nejprve deserializujete dokument na SomeObject, všechna pole získají svou výchozí hodnotu (null pro řetězce, 0 pro ints atd.). A pokud tento objekt použijete pro aktualizaci, pole, která ve vašem řetězci json neexistovala, budou aktualizována na výchozí hodnotu.

Pokud použijete

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

váš dokument v databázi bude aktualizován pouze pro pole, která jsou přítomna ve vašem jsonString



  1. Sdílení připojení nativního ovladače Node.js Mongodb

  2. Výkon Redis na vícejádrovém CPU

  3. MongoDB - Projekční dotazy

  4. Sidekiq nenachází záznamy pro Rails Active Job