Может кто-нибудь сказать мне, пожалуйста, как обновить более одного элемента в массиве?У меня есть объект вроде:
{
_id: 1,
name: 'x',
someArray: [
{'a': 1},
{'a': 1, 'b': 2},
{'a': 2}
]
}
Я хотел бы обновить все элементы в someArray, где 'a' == 1 .Я пытался сделать это с помощью команды
db.collection.update(
{_id: 1, 'somaArray.a': 1},
{$set: {'someArray.$.c': 3}},
{multi: true}
)
, но эта команда обновила только один элемент в someArray .Второй не обновляется.Результат выглядит так:
{
_id: 1,
name: 'x',
someArray: [
{'a': 1, 'c': 3},
{'a': 1, 'b': 2},
{'a': 2}
]
}
Как добиться обновления всех элементов, соответствующих условию?Спасибо.