Mongodb FindAndModify,返回对象数组

Mongodb FindAndModify,返回对象数组,mongodb,Mongodb,我正在尝试使用find和modify修改多个文档,然后返回修改后的新文档。 我的问题是: db.users.findAndModify({ query: { _id: { $in: [ ObjectId("54061f3c27afac4b44688c1d"), ObjectId("54061f3c27afac4b44688c1e") ] } }, update: { $inc: { i: 1

我正在尝试使用
find和modify
修改多个文档,然后返回修改后的新文档。 我的问题是:

db.users.findAndModify({
  query: {
    _id: {
      $in: [
        ObjectId("54061f3c27afac4b44688c1d"),
        ObjectId("54061f3c27afac4b44688c1e")
      ]
    }
  },
  update: {
    $inc: {
      i: 1
    }
  },
  new: true
});
但只能检索一个文档。我的目标是修改多个文档,并返回所有文档。是否可以检索文档数组?

如文档中所述,
find和modify
“修改并返回单个文档”。如果要使用
find和modify
修改多个文档,则必须对每个文档运行一次。在
mongo
shell中,您可以使用如下JavaScript实现这一点:

var oids=[ObjectId(“54061f3c27afac4b44688c1d”),
目标(“54061f3c27afac4b44688c1e”);
文件=[];
用于(OID中的var i){
id=oids[i];
doc=db.e.findAndModify({
“查询”:{u id:id},
“更新”:{“$inc”:{“i”:1},
“新”:真的
});
docs.push(doc);
}
printjson(文档);
另一个选项是使用
multi
作为选项运行
update
,然后检索文档。您的代码如下所示:

db.users.update(
{“_id”:{
“$in”:[ObjectId(“54061f3c27afac4b44688c1d”),
ObjectId(“54061f3c27afac4b44688c1e”)]
}
},
{“$inc”:{“i”:1},
{“多”:真}
);
db.users.find(
{“_id”:{
“$in”:[ObjectId(“54061f3c27afac4b44688c1d”),
ObjectId(“54061f3c27afac4b44688c1e”)]
}
}
);