【发布时间】:2016-06-16 07:29:14
【问题描述】:
我有一个对象数组
[
{
userId: '541c83d89ff44f767a23c546',
emailArray: [
'abc@amazon.com',
'zxc@amazon.com',
'pqr@amazon.com',
'lol@amazon.com'
]
},
{
userId: '56bd6bf220591a124001d178',
emailArray:[
'mno@gmail.com',
'uvw@gmail.com'
'second@gmail.com'
]
}
]
对于每个 userId,我想创建如下所示的 MongoDb 查询对象
var q1 = { $and: [ {userId:userId1}, {"interactions.emailId": {$in:emailArray1}
var q2 = { $and: [ {userId:userId2}, {"interactions.emailId": {$in:emailArray2}
var q3 = { $and: [ {userId:userId3}, {"interactions.emailId": {$in:emailArray3}
.....
var qn = { $and: [ {userId:userId(n)}, {"interactions.emailId": {$in:emailArray(n)}
在哪里
userId1 = 541c83d89ff44f767a23c546 和 userId2 = 56bd6bf220591a124001d178
emailArray1 = [
'abc@amazon.com',
'zxc@amazon.com',
'pqr@amazon.com',
'lol@amazon.com'
]
emailaray2 = [
'mno@gmail.com',
'uvw@gmail.com'
'second@gmail.com'
]
等等。
然后在最后一个 finally 查询对象
var queryFinal = { $or: [ q1, q2,q3......qn] }
我该怎么做?
【问题讨论】:
-
您这样做究竟想达到什么目的?
-
还有一点,在每个查询中,您不需要
$and。除此之外,我不明白你想在这里实现什么。你能解释一下吗? -
我将提供这个 queryFinal 以从集合中获取一些值。
标签: javascript node.js mongodb asynchronous underscore.js