sql >> データベース >  >> NoSQL >> MongoDB

$condに$existsを使用するマングース骨材

    $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を意味します



    1. 集計を使用して、mongoDBで各グループを制限および並べ替えます

    2. オブジェクトの配列によるルックアップ

    3. Tornado + Celery + RabbitMQ + Redisを使用できますか?

    4. ObjCMongoDBで非CRUDおよび非基本のMongoDBコマンドを実行するにはどうすればよいですか?