给定对象数组:
const array = [{_id: 1, name: 'one'}, {_id: 2, name: 'two'}]
如何构建查询,以便更新DB中每个文档的名称字段,其中文档的id等于数组对象中的_id?
这必须在单个查询中完成。 查询必须使用mongoDB节点驱动程序语法。
例如:
// in DB : [{_id: 1, name: null, _id: 2, name: null }]
db.collection('sprints').update(....).then(...)
// after operation:
// in DB: [{_id: 1, name: "one", _id: 2, name: "two" }]
答案 0 :(得分:1)
Promise.all(array.map(entry =>
db.collection('sprints').findOneAndUpdate({ _id: entry._id }, { name: entry.name }).save()
)).then(...);
它不是直接的方式,而是为我工作(在测试用例中)