代码之家  ›  专栏  ›  技术社区  ›  DarkArtistry

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

  •  -1
  • DarkArtistry  · 技术社区  · 6 年前
    let arrayOfDocuments = await Promise.all(result.data.CompanyCodes.map(async (eachCompany) => {
      let corporate = await Organization.findOne({ codeOfCompany: eachCompany });
      return corporate;
    }));
    

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ha. Huynh Rodrigo Oliveira    6 年前

    请试一下 $in 在Mongo查询:

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

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