MongoDB-有没有一种方法可以用一个命令将数组中的所有元素都$inc?

MongoDB-有没有一种方法可以用一个命令将数组中的所有元素都$inc?,mongodb,Mongodb,如果我有这样的文档集合: { vals : [10, 11] } 其中VAL数组的长度不是固定的 是否有一种方法可以用一个命令将VAL数组中的所有元素$inc合并 我试过了 db.mycoll.update({}, { $inc : { vals : 5 }}, { multi : true }) // error cannot $inc non-number db.mycoll.update({}, { $inc : { vals.$ : 5 }}, { multi : true

如果我有这样的文档集合:

{
    vals : [10, 11]
}
其中VAL数组的长度不是固定的

是否有一种方法可以用一个命令将VAL数组中的所有元素$inc合并

我试过了

db.mycoll.update({}, { $inc : { vals : 5 }}, { multi : true })
// error cannot $inc non-number

db.mycoll.update({}, { $inc : { vals.$ : 5 }}, { multi : true })
// error must specify a field
我们的目标是

{
    vals : [15, 16]
}
无需获取每个文档,复制并更新数组,然后将更新后的数组保存回文档


我提前感谢你的任何想法

哎呀,这里已经有一个JIRA为这个开放了


您可以在
$inc
中包含多个字段,因此,虽然您需要通过索引显式引用每个元素,但您可以通过以下方式执行此操作:

db.mycoll.update({},{$inc:{'vals.0':5'vals.1':5})

谢谢你的建议!但不幸的是,数组的长度不是固定的。。我已经更新了这个问题