sql >> Base de Datos >  >> NoSQL >> MongoDB

agregado de mangosta usando $ existe en $ cond

$exists no soportado en aggregate consulta de MongoDB . Entonces en aggregate consulta en lugar de $exists puede usar $ifNull .

sintaxis:

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

para más

Actualizado:

para obtener b valor como true o false puede probar esta consulta

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

Explicación:

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

donde condition = {$ifNull: ['$b', false]} Aquí si $b no existe entonces condition = false de lo contrario condition = true .

entonces si condition = true luego regresa luego resultado eso significa b = true
si condition = false luego devuelve else result significa b = false