【发布时间】:2012-04-12 15:40:08
【问题描述】:
使用 MongoDB,当数组为空时,我无法将 en 元素添加到数组中。如果我从控制台添加项目,AddToSet 会按预期工作。我正在使用 10gen 的官方 C# 驱动程序。
var query = Query.EQ("_id", objectId);
var itemDoc = item.ToBsonDocument();
//items is an array but currently null
var update = MongoDB.Driver.Builders.Update.AddToSet("items", itemDoc); // YUNoWork?
//somefield doesn't exist
var workingUpdate = MongoDB.Driver.Builders.Update.AddToSet("somefield", itemDoc); //works fine
var collection = DataBase.GetCollection<MyObject>(CollectionName);
collection.Update(query, update); // doesn't work
collection.Update(query, workingUpdate); // works
这是预期的行为吗?如果是这样,是否有更通用的方法将项目添加到数组中?
【问题讨论】:
标签: c# mongodb mongodb-.net-driver