sql >> Database teknologi >  >> NoSQL >> MongoDB

Patch REST API til delvis opdatering af MongoDB i .NET

Du kan bruge

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

Du skal dog være forsigtig.

Hvis du først deserialiserer dit dokument til SomeObject, vil alle felterne få deres standardværdi (nul for strenge, 0 for ints osv.). Og hvis du bruger det objekt til opdateringen, vil de felter, der ikke eksisterede i din json-streng, blive opdateret til deres standardværdi.

Hvis du bruger

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

dit dokument i databasen vil kun blive opdateret for de felter, der er til stede i din jsonString



  1. ValueError:<For mange værdier til at pakke ud>

  2. Hvordan kombinerer de sorterede sæt Redis?

  3. Cast to Number mislykkedes for værdien NaN (typenummer) ved sti på et beregnet felt Mongoose

  4. Bestilling af felter fra find forespørgsel med projektion