首页 > 解决方案 > MongoDB 使用限制和跳过更新

问题描述

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

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

你有什么建议?

标签: mongodbmongoose

解决方案


您可以获取记录,然后将所有记录的 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 }
                     );
}

推荐阅读