Ich verwende den MongoDB .Net-Treiber in meinem Projekt. Ich möchte alle Eigenschaften meines Objekts, das in MongoDB gespeichert ist, aktualisieren. In der Dokumentation wird, Update wie folgt dargestellt:Aktualisieren Sie alle Eigenschaften des Objekts in MongoDb
var filter = Builders<BsonDocument>.Filter.Eq("i", 10);
var update = Builders<BsonDocument>.Update.Set("i", 110);
await collection.UpdateOneAsync(filter, update);
Aber ich will nicht die Set
Methode für alle Eigenschaften nennen, da es viele Objekte sind und viele mehr in der Zukunft sein kann.
Wie kann ich das gesamte Objekt mit dem MongoDB .Net-Treiber aktualisieren?
Yon verwenden nur [** '$ Set' **] (http://docs.mongodb.org/manual/reference/operator/update/set/) und den dazugehörigen Operatoren (die alle diese Treiber-Builder tun) auf den Feldern, die Sie tatsächlich aktualisieren möchten. Wenn Sie also nur einen ändern müssen, listen Sie einen auf. Ist das dein Problem oder willst du 20 von 50 Eigenschaften in deinem Update ändern? –
@ user3561036 Anzahl der aktualisierten Eigenschaften sind unbekannt, also bin ich ok mit der Aktualisierung von allen auf einmal, auch ist der Wert immer noch der gleiche. – Sefa
Das ist im Grunde ein "Update-Dokument" ohne irgendwelche Operatoren wie $ set. Aber es gibt eine praktische Hilfsmethode, die das für Sie erledigt, anstatt nur das gesamte Dokument zu serialisieren. –