MongoDB:通过2个数组进行查询

MongoDB:通过2个数组进行查询,mongodb,mongoose,mongodb-query,aggregation-framework,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,假设我有如下模式: Course: id, [ User ], [ Subscriber] 每个用户都有userId,每个订阅者都有一个订阅者id 现在,我得到了两个userid和subscriberid数组。 例如: 这些ID是objectID而不是字符串。 用户ID:[1,2,3]和订阅ID:[4,2,6] 现在我需要找到3门课程,其中用户ID和订阅ID为(1,4);(2,2) ; (3,6) 所以,这里我们不想要一个叉积 您可以这样做: .find({

假设我有如下模式:

Course:
      id,
      [ User ],
      [ Subscriber]
每个用户都有userId,每个订阅者都有一个订阅者id

现在,我得到了两个userid和subscriberid数组。 例如:

这些ID是objectID而不是字符串。

用户ID:[1,2,3]和订阅ID:[4,2,6]

现在我需要找到3门课程,其中用户ID和订阅ID为(1,4);(2,2) ; (3,6)


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

您可以这样做:

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

我尝试连接userId和subscriberId,但是我们不能连接两个objectid。