MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongo Различно агрегиране

Ако разбирам правилно въпроса, това, което се опитвате да постигнете е

 totals of all DISTINCT users_id under a day

Или както аз го разбирам:Брой уникални user_ids на ден.

За целта можете да вземете групата, която вече имате, и да изрежете броя, така че да имате само уникален _id.user_id и _id.day стойност:

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

След това препратете това към друга $group оператор, който отчита броя документи на ден, тъй като има точно един за всеки уникален user_id /day комбинация:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Схема за работно време MongoDB

  2. Как да сортирам в мангуста?

  3. Защо MongoDB не реагира по време на тест за натоварване?

  4. Четене и показване на изображения от mongoDB с помощта на GridFs

  5. Как да получите последните N записа на всяка група в mongodb?