Вставить документ в другой документ - PullRequest
1 голос
/ 31 мая 2011

как я могу вставить документ в другой документ с помощью mongodb?

Я пробовал что-то вроде приведенного ниже кода, но у меня всегда есть проблема с преобразованием моего списка настроек в поле Настройки:

var settingViewModels = new[]{ setting };
var query = Query.EQ("Name", applicationName);
var update = Update.AddToSet("Settings", BsonArray.Create(setting));
db.Collection<Applications>().Update(query, update, UpdateFlags.Upsert, SafeMode.True)

Я получил ошибку, когда я конвертировал настройки settingViewModels в BsonArray, говоря:

.NET тип MyProject.SettingViewModel не может быть сопоставлен с BsonType.Array Имя параметра: значение

Есть идеи?

спасибо John

1 Ответ

2 голосов
/ 31 мая 2011

Если вы хотите добавить элемент настройки в массив Settings [] коллекции Application, вам следует использовать ToBsonDocument() метод расширения из MongoDB.Bson пространства имен:

var update = Update.AddToSet("Settings", setting.ToBsonDocument());

Вам не нужно создавать BsonArray.

...