$exists
stöds inte i aggregate
fråga från MongoDB . Alltså i aggregate
fråga istället för $exists
kan använda $ifNull
.
syntax:
{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }
Uppdaterad:
för att få b
värde som true
eller false
kan prova den här frågan
db.test.aggregate([
{
$project: {
b: {
$cond: [
{$ifNull: ['$b', false]}, // if
true, // then
false // else
]
}
}
}
])
Förklaring:
b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];
där condition = {$ifNull: ['$b', false]}
Här om $b
existerar inte då condition = false
annars condition = true
.
så om condition = true
returnera sedan sedan resultat det betyder b = true
om condition = false
returnera sedan annat resultat betyder b = false