MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

aggregato mangusta usando $esiste in $cond

$exists non supportato in aggregate query di MongoDB . Quindi in aggregate query invece di $exists può usare $ifNull .

sintassi:

{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }

per ulteriori informazioni

Aggiornato:

per ottenere b valore come true o false puoi provare questa query

db.test.aggregate([
    {
        $project: {
            b: { 
                $cond: [
                    {$ifNull: ['$b', false]}, // if
                    true, // then
                    false // else
                ]
            }
        }
    }
])

Spiegazione:

b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];

dove condition = {$ifNull: ['$b', false]} Qui se $b non esiste allora condition = false altrimenti condition = true .

quindi se condition = true quindi restituisci quindi risultato ciò significa b = true
se condition = false quindi restituisci altro risultato significa b = false