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