如何重构此代码以从数组中获取Mongo数据?

时间:2018-12-17 13:15:09

标签: javascript mongodb ecmascript-6 async-await

let arrayOfDocuments = await Promise.all(result.data.CompanyCodes.map(async (eachCompany) => {
  let corporate = await Organization.findOne({ codeOfCompany: eachCompany });
  return corporate;
}));

我想知道是否有更好的方法来重构上述代码。

1 个答案:

答案 0 :(得分:1)

请在Mongo查询中尝试使用$in

let arrayOfDocuments = await Organization.find({ 
    codeOfCompany: { '$in': result.data.CompanyCodes }
})

https://docs.mongodb.com/manual/reference/operator/query/in/这里文档。此查询检查值codeOfCompany的数组中是否存在字段result.data.CompanyCodes