【发布时间】:2016-01-16 03:47:27
【问题描述】:
我有一个 mongodb 文档,例如:
{
"name" : "JohnDoe",
"adds" : [
{
"status" : "PENDING",
"date" : "2015-09-23"
},
{
"status" : "PENDING",
"date" : "2015-10-01"
}
]
}
我想更新所有元素数组,例如:
collection.update({'name':'JohnDoe'}, {'$set':{'adds.status':'APPROVED'}}).
怎么做?
编辑:大多数解决方案说使用位置运算符选择数组元素,然后使用运算符更新该元素。但就我而言,我必须更新数组中的每个元素。
【问题讨论】:
-
@sheilak 我发帖用户可以选择一个单独的数组元素,然后他可以使用位置运算符更新它。但我必须更新数组中的每一个元素。
-
该问题的答案说明您无法在一次更新中对数组中的所有项目执行 $set。接受的答案链接到关于该问题的开放 JIRA 票证。还发布了多种解决方法。
标签: mongodb