带有多个$或JSON的JS / Mongo查询

时间:2016-04-05 19:13:24

标签: javascript json mongodb

我目前正在尝试从mongo的webservice生成查询。我有类似的东西

'query' :
{ 
'startDate':{ '$lte':'2016-04-05T00:00:00.000Z' },
'$or':
  [
    { 'endDate': { '$gte': '2016-04-05T00:00:00.000Z' } }, 
    { 'endDate': { '$exists': false }}
  ]
}

我的问题是,是否可以添加另一组' $或'进入这个json?

如果是这样,我该怎么办? (即如何在查询中创建另一个$或键)

所以它变成了这样的东西

'query' :
{ 
'startDate':{ '$lte':'2016-04-05T00:00:00.000Z' },
'$or':
  [
    { 'endDate': { '$gte': '2016-04-05T00:00:00.000Z' } }, 
    { 'endDate': { '$exists': false }}
  ]
'$or':
  [  { <field> : <value>, <field> : <value> } ]
}

谢谢和问候, 千电子伏

1 个答案:

答案 0 :(得分:1)

使用两个$and添加新的$or运算符:

{ 
  'startDate':{ '$lte':'2016-04-05T00:00:00.000Z' },
  '$and': [
     {
       $or:[
         { 'endDate': { '$gte': '2016-04-05T00:00:00.000Z' } }, 
         { 'endDate': { '$exists': false }}
       ]
    },
    {
      '$or': [
         { <field> : <value>, <field> : <value> }
       ]
    }
}