【问题标题】:How do I match by two separate arrays of ids in MongoDB?如何匹配 MongoDB 中的两个单独的 id 数组?
【发布时间】:2022-07-06 15:14:47
【问题描述】:

我有 2 个具有不同 ID 的数组:

  1. bikesWithNoOrders [id , id1 , id2]
  2. filteredResult [id3 , id5]

如何进行查询以找到所有内容

我有这个:

queryBuilder.find({ _id: { $in: bikesWithNoOrders } });

queryBuilder.find({ _id: { $in: filteredResult } });

但是第二个覆盖了第一个,因为它们不共享相同的 id 我想要这样的东西:

queryBuilder.find({ _id: { $in: filteredResult } }).or({ _id: { $in: bikesWithNoOrders } });

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    您可以在服务器端对这两个数组进行marge,并使用合并数组进行查询。你可以用concat()

    queryBuilder.find({ _id: { $in: bikesWithNoOrders.concat(filteredResult) } });
    

    【讨论】:

    • 天哪。谢谢你。我想我应该休息一下,因为我根本没想过。
    【解决方案2】:

    希望这个答案对你有用!

    queryBuilder.find({ _id: { $in: [...bikesWithNoOrders,...filteredResult] } });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2022-11-02
      • 2022-11-10
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多