【发布时间】:2021-11-06 15:28:00
【问题描述】:
我刚刚发现我可以在不使用循环的情况下在 mongoose 中迭代 find()。通过这样做。
const arrOfIds = reqBody.items.map(item => item.productId);
Product.find({ '_id': { $in: arrOfIds }},(error, result)=>{
const productList = collect(result).toArray();
})
但是我的问题是,如果数组中的 id(arrOfIds) 存在不止一次,find() 方法只会将其视为一个存在,因此这是不正确的,因为我想对这些产品的价格求和, 是否重复。
我之前的代码是使用 map() 循环 find() 然后计算总和,但与其他代码相比变得复杂,我只想使用这个更简单的方法。无论是否有重复,我都可以让它返回每个 ID 的文档吗?
【问题讨论】:
标签: javascript node.js arrays mongodb mongoose