MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

agrégat de mangouste utilisant $existe dans $cond

$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> ] }

pour en savoir plus

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' ];

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