$exists
wird in aggregate
nicht unterstützt Abfrage von MongoDB . Also in aggregate
Abfrage anstelle von $exists
kann $ifNull
verwenden .
Syntax:
{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }
Aktualisiert:
um b
zu erhalten Wert als true
oder false
können diese Abfrage versuchen
db.test.aggregate([
{
$project: {
b: {
$cond: [
{$ifNull: ['$b', false]}, // if
true, // then
false // else
]
}
}
}
])
Erklärung:
b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];
wobei condition = {$ifNull: ['$b', false]}
Hier wenn $b
nicht vorhanden dann condition = false
andernfalls condition = true
.
also wenn condition = true
dann dann Ergebnis zurückgeben das bedeutet b = true
wenn condition = false
dann sonst Ergebnis zurückgeben bedeutet b = false