使用嵌套$和$

时间:2017-11-20 09:31:19

标签: mongodb

我想在MongoDB上查询,但我不知道该怎么做:

OrderModel.findOneAndUpdate(
{
  status: { '$and': ['$in': [A, B] ,
                      '$and' : ['$in': [C], orderDelivery.expectedArrivalFrom :<to be smaller then a specific date>] ] },  )
  

我的意思是这种情况:(状态== A)或(   status == B)或(status == B.   和orderDelivery.expectedArrivalFrom&lt; &#39;某些日期&#39;)

其中orderDelivery是OrderModel的字段,expectedArrivalFrom是orderDelivery的字段,类型为Date。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据你的解释,你的情况应该是

OrderModel.findOneAndUpdate(
 {
  $or: [
    {status: {$in: ['A', 'B']}},
    {
      $and: [
        {status: 'C'},
        {"orderDelivery.expectedArrivalFrom": {$lt: date}}
      ]
    }
  ]
 },
 {//update info}
);