Node.js 在MongoDB NodeJS中一次查询中更新多条记录,无需任何循环
我有一个对象数组,我想在一个查询中更新所有记录Node.js 在MongoDB NodeJS中一次查询中更新多条记录,无需任何循环,node.js,mongodb,Node.js,Mongodb,我有一个对象数组,我想在一个查询中更新所有记录 var arrayObj=[ {id:'5e346213bec252771415a9ee', status:1, date:01-2-2020},{id:'5e346213bec252471415a9efr', status:2, date:02-2-2020}, {id:'5e346213bec252771415a9ee',
var arrayObj=[
{id:'5e346213bec252771415a9ee',
status:1,
date:01-2-2020},{id:'5e346213bec252471415a9efr',
status:2,
date:02-2-2020},
{id:'5e346213bec252771415a9ee',
status:3,
date:01-3-2020}];
Leads.update();
我是node和mongo的新手,我如何更新它。我不想使用loop,因为我已经使用了loop。现在我想学习这一点。我想说的是:
var bulkOpr=.initializeUnderedBulkop();
bulkOpr.find({u id:1}).updateOne({/*updatedocument*/});
bulkOpr.find({u id:2}).updateOne({/*updatedocument*/});
//等
bulkOp.execute();
您可以做任何需要做的事情,而数据库可以一次完成这一切
参考链接:
我正在等待答复…请回复朋友此问题已在此处解决:谢谢您的评论…请阅读我的问题…您的重新读取链接未完全满足我的要求。我对每个记录都有不同的值…@rpereira15我想用自己的值更新所有记录使用此解决方案,他还需要一个循环。批量策略只是同时执行所有更新。@rpereira15循环仅用于准备查询,批量操作只执行一次。我同意这种方法,但是,如果您阅读Ali的评论,him不想构建循环。他希望挂载一个数组并将其传递给更新。
var bulkOpr = <collectionName>.initializeUnorderedBulkOp();
bulkOpr.find({ _id: 1 }).updateOne({ /* update document */ });
bulkOpr.find({ _id: 2 }).updateOne({ /* update document */ });
// etc
bulkOp.execute();