Если вы храните даты в виде строки, вы можете сравнить две даты (как строки), предполагая, что вы убедитесь, что они всегда находятся в одном и том же формате и часовом поясе.
$project: {
name: 1,
isPresent: {
$cond: {
if: {
$lte: ["$arrivalTime","$timeIn"]
},
then: true,
else: false
}
}
}
С учетом сказанного это не рекомендуется я считаю, что «обеспечение» таких вещей - не лучший подход. Так что еще вы можете сделать?
- Сохраните даты как
Date
. это потребует от вас обновления кода и базы данных, но, на мой взгляд, это будет лучшим долгосрочным решением. - Если вы используете Mon go версии 3.6+, вы можете использовать Mon go 's $ dateFromString
$project: {
name: 1,
isPresent: {
$cond: {
if: {
$lte: [{$dateFromString: {dateString: "$arrivalTime"}},
{$dateFromString: {dateString: "$timeIn"}}]
},
then: true,
else: false
}
}
}