Mongo $ nin无法正常工作在文档中

时间:2019-03-25 08:34:19

标签: mongodb

我准备具有匹配条件的查询,并使用$nin。我需要选择状态不等于0,5,50,1的所有文档。也许我不正确地理解$nin运算符。 $nin-字段值不在指定数组中。它的意思是不等于5或不等于50,但是值5不等于50且这种无聊的满足。...但这没有任何意义。哪个运算符实现强条件-与数组中的元素不相等(例如和) 这是我的查询

 db.getCollection('inv').aggregate(
  [    
     { $match: { $and: [ { status: {$nin: [0, 5, 50, 1]}} ] } },
     { $sort: { increment_id: -1 } },
     { $limit: 5 },
     {
         $project:
           {
             status: 1,  
             item: 1,
             entity_id: 1,
             increment_id: 1,  
             due_date: 1,  
             current_date: new Date(),   
             type_code: 1,    
             compare_duo_date:
               {
                 $cond: { if: { $lt: [
                     { $dateFromString: {
                 dateString: {$dateToString: { format: "%Y-%m-%d", date: "$due_date" }} } }, 
                 { $dateFromString: {
                 dateString: {$dateToString: { format: "%Y-%m-%d", date: new Date() }} } } 
                 ] }, then: 1, else: 0 }
               }            
           }
      }
   ]
)

0 个答案:

没有答案