У меня есть схема документа, которая выглядит следующим образом:
{
status: String,
estimateDate: Date,
lostDate: Date,
soldDate: Date,
assignedDate: Date
}
С этой схемой все три даты могут существовать, и ни одна из них не может существовать.Мне нужно сделать проверку всех трех, и если хотя бы одна существует, используйте самую старую дату, если ни одна не существует, используйте сегодняшнюю дату.Получив «возвращенную» дату, получите разницу в днях с другим ключом (assignDate).Я понял, как сделать то, что я хочу, с одной датой, но не могу понять, как увеличить ее, чтобы включить все три ключа.Ниже приведен рабочий код, который у меня есть для одного ключа.
В рамках этапа моего общего проекта $ 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
]
}
}
}
}