Монго Отличная Аггегация

Я пытаюсь использовать структуру агрегации для подсчета групп в монго, но результаты не совсем такие, как ожидалось.

Рассмотрим коллекцию ниже

 $people->insert(array("user_id" => "1", "day" => "Monday", 'age' => 18));
 $people->insert(array("user_id" => "3", "day" => "Monday", 'age' => 24));
 $people->insert(array("user_id" => "1", "day" => "Monday", 'age' => 18));
 $people->insert(array("user_id" => "1", "day" => "Monday", 'age' => 18));
 $people->insert(array("user_id" => "2", "day" => "Monday", 'age' => 25));
 $people->insert(array("user_id" => "4", "day" => "Monday", 'age' => 33));
 $people->insert(array("user_id" => "1", "day" => "Tuesday", 'age' => 18));
 $people->insert(array("user_id" => "2", "day" => "Tuesday", 'age' => 25));
 $people->insert(array("user_id" => "1", "day" => "Wednesday", 'age' => 18));
 $people->insert(array("user_id" => "2", "day" => "Thursday", 'age' => 25));
 $people->insert(array("user_id" => "1", "day" => "Friday", 'age' => 18));

Я использую запрос ниже, попробуйте подсчитать количество различных записей (user_id) для каждого дня недели.

$query = array(
        array(
            '$project' => array(
                'user_id' =>1,
                'day' =>1,
            ),
        ),
        array(
            '$group' => array(
                '_id'  => array(
                    'user_id' => '$user_id',
                 'day' => '$day'),
                'count' => array('$sum' => 1),
            )
        ));

Так что для коллекции выше результаты должны быть

Monday = 3     Tues = 2,     Wed = 1,     Thur = 1 and    Friday = 1

но он не группирует итоговые значения всех DISTINCT users_id за день, и вместо этого для каждого дня он дает мне итоговую сумму для каждого существующего user_id.

Результаты (не полные)

     [result] => Array
    (
        [0] => Array
            (
                [_id] => Array
                    (
                        [user_id] => 1
                        [day] => Friday
                    )

                [count] => 1
            )

        [1] => Array
            (
                [_id] => Array
                    (
                        [user_id] => 1
                        [day] => Wednesday
                    )

                [count] => 1
            )

        [2] => Array
            (
                [_id] => Array
                    (
                        [user_id] => 2
                        [day] => Tuesday
                    )

                [count] => 1
            )
... ... ...

Может ли кто-нибудь помочь мне отфильтровать ежедневные итоги, чтобы они включали только отдельные итоги за день?

Я посмотрел на$ размотки но не мог по-настоящему обдумать это. `

Ответы на вопрос(1)

Ваш ответ на вопрос