2016-12-27 61 views
0

假設我有模式如下:的MongoDB:查詢由2個陣列

Course: 
     id, 
     [ User ], 
     [ Subscriber] 

每個用戶都有帳戶及每個訂戶具有訂戶標識。

現在,我給了userIds和subscriberIds兩個數組。 示例:

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

用戶ID:[1,2,3]和subscriberIds:[4,2,6]

現在我需要找到具有的userIds和subscriberIds 3個療程爲(1,4); (2,2); (3,6)

所以,這裏我們不想要一個交叉產品。

+0

我試圖串聯用戶標識和subscriberId,但我們不能連接兩個的ObjectID。 –

回答

0

你可以這樣說:

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