1

配列値 (!) 状態属性を持つユーザーのコレクションがあります。

ロックされたユーザーを簡単に見つけることができます

db.users.find({'state' : 'locked'})

条件が状態配列を「調べる」ためです。

ただし、集計フレームワークのコンテキストでこれが必要であり、そこで機能させることができません。これが私の非機能的な試みの1つです:

db.users.aggregate({
  '$group' : {
    '_id' : { '$cond' : [{'$eq' : ['$state', 'locked']},
                      'locked',
                      'not_locked'] 
    },
    'count' : { '$sum' : 1 }
    }
})

IOW、状態配列内の要素の存在に基づいてグループ _id を生成したいと考えています。

4

2 に答える 2