检查今天的日期是否大于汇总mongodb中的条件

时间:2019-11-20 08:09:29

标签: mongodb mongoose

我要检查报价的到期日是否大于今天,如果是,则返回是,否则返回否 我已经完成了以下代码,但未按要求工作 请帮助我。

Offer.aggregate([ 
    enddate: {
            $cond: { 
             if: {  
                  $gte: [new Date(new Date().getTime()-60*5*1000).toISOString(),true] 
                  },
             then: "No",
             else: "Yes"}
        },
]); 

1 个答案:

答案 0 :(得分:0)

您必须使用$project,并且条件为正确的语法为if: { $gt: ["$enddate", new Date()] },其中enddate是您要检查的字段:

Offer.aggregate([
  {
    $project: {
      isExpired: { // new field
        $cond: { 
           if: { $gt: ["$enddate", new Date()] },
           then: "No",
           else: "Yes"
        }
      },
    } 
  } 
]); 

有关$cond的更多信息:https://docs.mongodb.com/manual/reference/operator/aggregation/cond/