我在数据库中的收藏是
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中的日期吗?还是需要将日期转换成通用格式?
答案 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
]
},
`