Я пытаюсь выдвинуть список к вложенному документу.Если я вставляю только один объект как BsonDocument, он работает, как показано ниже:
BsonDocument subdoc = new BsonDocument {
{ "_id", ObjectId.GenerateNewId()},
{"name", "Mr Bob"}
};
var query = Query.EQ("_id", new ObjectId("1234.."));
var upd = Update.Push("members", subdoc); <-works
groups.Update(query, upd);
Но мне нужно нажать Список.Я получаю это исключение:
"WriteStartArray cannot be called when State is: Initial"
Это код ошибки:
List<BsonDocument> newMembers = new List<BsonDocument>();
BsonDocument subdoc = new BsonDocument {
{ "_id", ObjectId.GenerateNewId()},
{"name", "Mr Bob"}
};
newMembers.Add(subdoc );
subdoc = new BsonDocument {
{ "_id", ObjectId.GenerateNewId()},
{"name", "Mr Tom"}
};
newMembers.Add(subdoc);
var query = Query.EQ("_id", new ObjectId(id));
var upd = Update.Push("members", newMembers.ToBsonDocument()); <- EXCEPTION
groups.Update(query, upd);
После вставки я вижу:
groups:
{
_id:1,
members:[
{
_id:1,
name: "Mr Bob"
},
{
_id:1,
name: "Mr Tom"
}
]
}