2017-05-31 180 views
0

MongoDB $ cond是如何工作的?

{$ COND:{如果:,则:,其他:}}

如果计算结果为真,那么$ cond表达式,并返回表达式的值。否则,$ cond会计算并返回表达式的值。

+1

尝试[三元操作](https://en.wikipedia.org/wiki/Ternary_operation)也有大量的例子在手动[' $ cond'(https://docs.mongodb.com/manual/reference/operator/aggregation/cond/)。什么不清楚? –

+0

*“如果IF的计算结果为真,则$ cond将评估并返回THEN表达式的值,否则$ cond会计算并返回ELSE表达式的值。”* - 您已回答了问题。 –

回答

0

您可以使用它$ COND像下面 -

domain.Wish.aggregate([{ 
     $match: { 
     event_id: mongoose.Types.ObjectId(wishesObj._id) 
     } 
     }, { 
     $group: { 
     _id: 'null', 
     amount: { 
      $sum: { 
      $cond: { 
       if: { 
       //'wishcontribute':{$ne:'jeenees_price'} 
       $ne: ["$wishcontribute", '$jeenees_price'] 
       }, 
       then: "$wishcontribute", 
       else: 0 
      } 
      } 
     } 
     } 
     }], function (err, data) {