我有一个问题:
db.locations.find({
"source_id": {
"$in": [ "1", "3", "4" ]
}
})
返回3份文件。
我想使用以下命令修改这些文档:
db.locations.update(
{
"source_id": {
"$in": ["1", "3", "4"]}
},
{ "$push": {"services": "IN_EUR"} }
)
但我只更新了第一份文件。这是为什么? $push
上的文档未说明<query>
应返回单个文档。
有人可以解释一下吗?
答案 0 :(得分:3)
如果您打算更新多个文档,请添加multi
参数:
db.locations.update(
{
"source_id": {
"$in": ["1", "3", "4"]}
},
{ "$push": {"services": "IN_EUR"} },
{ "multi": true }
)