在mongodb中的一个更新调用中推送到两个单独的数组

Jef*_*f W 13 mongodb mongodb-query

我正在尝试更新以通过一次更新调用更新文档中的两个单独数组.有没有办法做到这一点?

例如,如果我有一个文件,如:

{
  _id:1,
  array1:[1],
  array2:[4]
}
Run Code Online (Sandbox Code Playgroud)

现在我这样做:

db.collection.update({_id:1},{$push:{array1:"2"}})
db.collection.update({_id:1},{$push:{array2:"5"}})
Run Code Online (Sandbox Code Playgroud)

有没有办法将此减少到只有一个电话?我试过传递一个数组来推送,我在更新对象中尝试了多个推送语句,但这些不起作用.感谢您对此的帮助!

sty*_*ane 15

您可以为$push运算符指定多个字段

db.collection.update(
   { _id :1 }, 
   { $push : { array1 : "1",   array2 : "5" }}
)
Run Code Online (Sandbox Code Playgroud)