【发布时间】:2019-05-08 13:13:55
【问题描述】:
谁能告诉我如何更新数组中的多个元素? 我有这样的对象:
{
_id: 1,
name: 'x',
someArray: [
{'a': 1},
{'a': 1, 'b': 2},
{'a': 2}
]
}
我想更新 someArray where '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}
]
}
如何实现所有符合条件的元素的更新? 谢谢。
【问题讨论】:
-
你在用nodejs吗?
-
不,它的 PHP 应用程序。
-
我觉得这个问题和你的问题差不多 访问 stackoverflow.com/questions/4669178/…>?
标签: php arrays mongodb updates