Обновление с помощью AddToSet, не обновляющее нулевое значение с помощью MongoDB C#

При использовании MongoDB у меня возникают проблемы с добавлением элемента en в массив, когда массив равен нулю. AddToSet работает, как и ожидалось, если я добавляю элемент из консоли. Я использую официальный драйвер С# от 10gen.

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

Это ожидаемое поведение? Если да, то есть ли более общий способ добавления элементов в массив?

6
задан i3arnon 31 December 2013 в 12:33
поделиться