MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Eingebettetes Dokument in mongodb mit C# aktualisieren

Sie müssen nicht so ausführlich sein:BsonValue.Create() und BsonArray.Create sollte nicht erforderlich sein.

Tatsächlich ist letzteres die Ursache Ihres Problems:BsonArray.Create erstellt Arrays von Werttypen . Sie benötigen jedoch ein Array von Objekten. Wenn Sie sich die verfügbaren Überladungen von BsonArray.Create ansehen , ich schätze, Sie werden BsonArray.Create(IEnumerable) aufrufen , was nicht wünschenswert ist.

Haben Sie versucht, einfach zu verwenden

MongoCollection.Update(query, Update.Set("Agents", updatedEntity.Agents), ...);

stattdessen?

In JSON sieht der Unterschied so aus:

Zum Beispiel

Einfaches Array:[ "mongodb", "awesomness", ... ]

Array von Objekten:[ { userId: 2314234, comment: "Foo" }, { ... }, ... ]