$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