使用限制和跳过更新MongoDB

时间:2018-08-13 08:44:02

标签: mongodb mongoose

在猫鼬中,我需要以最快的方式执行以下操作:

  1. 通过查询查找文档
  2. 使用limit()和skip()
  3. 更新所有找到的记录中具有相同值的字段

您有什么建议?

1 个答案:

答案 0 :(得分:1)

您可以获取记录,然后将所有记录的ID放入一个数组,然后   使用$in

更新它们
async function someAsyncFunction(){ 

    let foundData= await collection.find(query).skip().limit();
    let IDs=[];

    foundData.forEach(element=>{
     IDs.push(element._id);
       });

   return Collection.update(
                     {_id: { $in: IDs}}, 
                     { $set: {"fieldToUpdate": "value"}},
                     { multi: true }
                     );
}