Я использую агрегацию MongoDB для суммирования некоторых записей. Один из них имеет значение NaN
, и, таким образом, окончательное значение становится NaN
. Я написал $project
шаг для преобразования NaN
в 0
. Однако использование литерала NaN
приводит к ошибке Expected "[" or AggregationStage but "{" found.
Этот шаг $project
выдает ошибку:
{
"hardwareItems": 1,
"subscriptionItems": 1,
"sellerName": 1,
"status": 1,
"sum": {
$cond: [{ $eq: ["sum", NaN] }, 0, "$sum"]
},
"seller": 1,
"subscriptionCount": {
"$size": "$subscriptionItems"
}
}
Однако, если вместо этого использовать:
$cond: [{ $eq: ["sum", "NaN"] }, 0, "$sum"]
Если NaN
становится "NaN"
, ошибка исчезает.
Как бы мы использовали NaN
литералы в MongoDB Compass?