MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Agregação Distinta Mongo


Se eu estou entendendo bem a pergunta, o que você está tentando chegar é
 totals of all DISTINCT users_id under a day

Ou como eu entendo:contagem de user_ids únicos por dia.

Para isso, você pode pegar o grupo que você já tem e cortar a contagem para que você tenha apenas um _id.user_id exclusivo e _id.day valor:
'$group' => array(
            '_id'  => array(
                'user_id' => '$user_id',
                'day' => '$day'
            )
        )

Em seguida, canalize isso para outro $group declaração que conta o número de documentos por dia, pois há exatamente um para cada user_id exclusivo /day combinação:
'$group' => array(
            '_id'  => '$_id.day',
            'count' => array('$sum' => 1)
        )