【问题标题】:MongoDB: Query by 2 arraysMongoDB:按 2 个数组查询
【发布时间】:2017-05-11 19:05:33
【问题描述】:

假设我的架构如下:

Course:
      id,
      [ User ],
      [ Subscriber]

每个用户都有 userId,每个订阅者都有一个订阅者 id。

现在,我得到了两个用于 userIds 和subscriberIds 的数组。 示例:

这些 ID 是 ObjectId,而不是字符串。

UserIds:[1,2,3] 和subscriberIds:[4,2,6]

现在我需要找到 3 门课程,其中 userIds 和subscriberIds 为 (1,4) ; (2,2) ; (3,6)

所以,这里我们不想要一个叉积。

【问题讨论】:

  • 我尝试连接 userId 和subscriberId,但我们无法连接两个 objectId。

标签: mongodb mongoose mongodb-query aggregation-framework


【解决方案1】:

你可以这样做:

.find({
  $or: userIds.map((userId, index) => ({
    User: userId,
    Subscriber: subscriberIds[index]
  }))
}).limit(3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-04
    • 2020-07-14
    • 1970-01-01
    • 2021-11-12
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多