$exists
aggregate
ではサポートされていません MongoDBのクエリ 。したがって、aggregate
$exists
の代わりにクエリ $ifNull
を使用できます 。
構文:
{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }
更新:
b
を取得するには true
としての値 またはfalse
このクエリを試すことができます
db.test.aggregate([
{
$project: {
b: {
$cond: [
{$ifNull: ['$b', false]}, // if
true, // then
false // else
]
}
}
}
])
説明:
b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];
ここで、condition = {$ifNull: ['$b', false]}
ここで$b
存在しない場合、condition = false
それ以外の場合、condition = true
。
したがって、condition = true
の場合 次に、次に結果を返します つまり、b = true
if condition = false
次に、その他の結果を返します b = false
を意味します