sql >> Databasteknik >  >> NoSQL >> MongoDB

Patcha REST API för att delvis uppdatera MongoDB i .NET

Du kan använda

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

Du bör dock vara försiktig.

Om du först deserialiserar ditt dokument till SomeObject kommer alla fält att få sitt standardvärde (null för strängar, 0 för ints etc). Och om du använder det objektet för uppdateringen kommer fälten som inte fanns i din json-sträng att uppdateras till deras standardvärde.

Om du använder

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

ditt dokument i databasen kommer endast att uppdateras för de fält som finns i din jsonString



  1. MongoDB med C# - fråga med dynamiskt genererat predikat

  2. Gruppera efter datum med lokal tidszon i MongoDB

  3. Hur kör man db.killOp() med MongoDBs inbyggda Node.js-drivrutin?

  4. ImportError:Ingen modul med namnet redis