ich versuche, von p2l
Array für Objekt status
Feld zu aktualisierenUpdate-Feld in Array mongodb C# Treiber
var update = Builders<BsonDocument>.Update.Set("p2l.$.status",BsonValue.Create(status))
Es scheint, dass Code gut funktioniert, aber wie es mit typisierten Builder zu implementieren und alle Felder mit Lambda-Set ? Ich fand eine Lösung durch den folgenden Link How to update a field in an array's subdocument contained in an array's subdocument in MongoDB using C# driver?
Aber es ist nur für alte Version des Treibers geeignet.
Sie erkennen, "warum" das auf diese Weise notiert ist und daher keine Funktion auf Array-Mitglieder wie mit einem Lambda nicht wahr? Zwei verschiedene Dinge. Der Zweck besteht darin, das Array-Element im "Abfrage" -Ausdruck des Updates zu "finden". Dann wird der "übereinstimmende Index" auf diese Weise notiert, so dass das korrekte Element aktualisiert wird. –