У меня есть структура документа, например
{
"_id" : ObjectId("52263922f5ebf05115bf550e"),
"Fields" : [
{
"Field" : "Lot No",
"Rules" : [ ]
},
{
"Field" : "RMA No",
"Rules" : [ ]
}
]
}
Я попытался обновить, используя следующий код для ввода в массив правил, который будет содержать объекты.
db.test.update({
"Fields.Field":{$in:["Lot No"]}
}, {
$addToSet: {
"Fields.Field.$.Rules": {
"item_name": "my_item_two",
"price": 1
}
}
}, false, true);
Но я получаю следующую ошибку:
невозможно добавить в массив, используя строковое имя поля [Поле]
Как мне сделать обновление?
Field
в вашем $addToSet-Operator. Попробуйте$addToSet: { "Fields.$.Rules": ...
- person Philipp   schedule 04.09.2013