我有一个如下所示的文档架构:
{
status: String,
estimateDate: Date,
lostDate: Date,
soldDate: Date,
assignedDate: Date
}
使用此模式,所有三个日期都可能存在,并且都不存在。我需要对所有三个进行检查,如果不存在,则使用最早的日期,如果不存在,则使用今天的日期。使用“返回”日期,获得与另一个键(assignedDate)的天数差。我已经想出了一个约会该怎么做,但是却不知道该如何扩大到包括所有三个键。下面是我一键可用的工作代码。
在总管道$ project阶段中,我将执行以下操作:
days: {
$cond: {
if: {
$not: ["$date1"]
},
then: {
$floor: {
$divide: [
{
$subtract: [new Date(), "$assignedDate"]
},
1000 * 60 * 60 * 24
]
}
},
else: {
$floor: {
$divide: [
{
$subtract: [
"$estimateDate",
"$assignedDate"
]
},
1000 * 60 * 60 * 24
]
}
}
}
}