$exists
není podporováno v aggregate
dotaz na MongoDB . Tedy v aggregate
dotaz místo $exists
můžete použít $ifNull
.
syntaxe:
{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }
Aktualizováno:
získat b
hodnotu jako true
nebo false
můžete zkusit tento dotaz
db.test.aggregate([
{
$project: {
b: {
$cond: [
{$ifNull: ['$b', false]}, // if
true, // then
false // else
]
}
}
}
])
Vysvětlení:
b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];
kde condition = {$ifNull: ['$b', false]}
Zde pokud $b
neexistuje, pak condition = false
jinak condition = true
.
takže pokud condition = true
pak vraťte pak výsledek to znamená b = true
pokud condition = false
pak vraťte jiný výsledek znamená b = false