MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

agregado mangusto usando $exists em $cond


$exists não suportado em aggregate consulta do MongoDB . Então, em aggregate consulta em vez de $exists pode usar $ifNull .

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

para mais

Atualizado:

para obter b valor como true ou false pode tentar esta consulta
db.test.aggregate([
    {
        $project: {
            b: { 
                $cond: [
                    {$ifNull: ['$b', false]}, // if
                    true, // then
                    false // else
                ]
            }
        }
    }
])

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

onde condition = {$ifNull: ['$b', false]} Aqui se $b não existe então condition = false caso contrário condition = true .

então se condition = true então retorne depois result isso significa b = true
se condition = false em seguida, retorne outro resultado significa b = false