$exists
non pris en charge dans aggregate
requête de MongoDB . Donc en aggregate
requête au lieu de $exists
peut utiliser $ifNull
.
syntaxe :
{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }
Mise à jour :
pour obtenir b
valeur comme true
ou false
peut essayer cette requête
db.test.aggregate([
{
$project: {
b: {
$cond: [
{$ifNull: ['$b', false]}, // if
true, // then
false // else
]
}
}
}
])
Explication :
b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];
où condition = {$ifNull: ['$b', false]}
Ici si $b
n'existe pas alors condition = false
sinon condition = true
.
donc si condition = true
puis retourne puis résultat cela signifie b = true
si condition = false
puis renvoie autre résultat signifie b = false