sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongo Distinct Aggegation

Hvis jeg forstår spørgsmålet rigtigt, så er det du prøver at nå frem til

 totals of all DISTINCT users_id under a day

Eller som jeg forstår det:Antal unikke user_id'er pr. dag.

Til det kan du tage den gruppe, du allerede har, og skære antallet ud, så du bare har en unik _id.user_id og _id.day værdi:

'$group' => array(
            '_id'  => array(
                'user_id' => '$user_id',
                'day' => '$day'
            )
        )

Send det derefter til en anden $group erklæring, der tæller antallet af dokumenter pr. dag, da der er præcis ét for hvert unikt user_id /day kombination:

'$group' => array(
            '_id'  => '$_id.day',
            'count' => array('$sum' => 1)
        )



  1. Sådan får du alle resultater, hvis afspændingsfeltet ikke findes i mongodb

  2. MongoAlchemy-forespørgsler om indlejrede dokumenter

  3. Mongoose TypeError:Kan ikke bruge 'in' operator til at søge efter '_id' i [object Object]

  4. Gør en sum med mongo db aggregeringsramme