如何在猫鼬中检查日期是否小于今天的日期?

时间:2020-03-10 13:57:45

标签: mongodb mongoose

我在数据库中的收藏是

plannedEndDate:{"2020-03-10T11:22:33.677+00:00"}
控制器var tdate= new Date();中的

[tdate格式为2020-03-10T14:28:22.687Z]。 现在,我需要检查mongoose中的plannedEndDate是否小于tdate。 我尝试过,

plannedEndCmp: {
    $cond: [{ $lt: ["$plannedEndDate", tdate] }, 1, 0]
}

,但未返回true。 所以我应该修剪时间戳以比较mangodb中的日期吗?还是需要将日期转换成通用格式?

2 个答案:

答案 0 :(得分:0)

不清楚您的实际操作,但在命令下面找到该文档或显示指示:

db.collection.find(
   { plannedEndDate: { $lt: tdate } }
)

db.collection.aggregate([
   { $set: { plannedEndCmp: { $cond: [{ $lt: ["$plannedEndDate", tdate] }, 1, 0] } } },
   { $set: { plannedEndCmp_bool: { $lt: ["$plannedEndDate", tdate] } } }
])

答案 1 :(得分:0)

在“聚合”组中:

factualEndDate: {
          "$dateToString": { "format": "%Y-%m-%d", "date": "$factualEndDate" }
        },

在汇总项目中:

DelayedComplete: { $cond: [

        {
          $and: [

            { $cond: [{ $lte: [{ $max: "$data.factualEndDate" }, today] }, 1, 0] },


          ]
        },
        1,
        0
      ]
    },

`