2015-03-14 2 views
0

Я не могу получить сумму ammount. он возвращает null. пытается сгруппировать по дате.Сумма MongoDB с агрегированием

Array 
(
[_id] => MongoId Object 
    (
     [$id] => 5500a655642c87d663b7acd9 
    ) 

[0] => 1 
[id] => 1 
[1] => 5 
[site_id] => 5 
[2] => 7 
[ammount] => 7 
[3] => 2 
[status] => 2 
[4] => 2012-07-04 
[date] => 2012-07-04 
) 

мой код PHP находится здесь.

$outt = $db->command (
     array( 
      "aggregate" => "tests", 
      "pipeline" => 
       array( 
        array('$match' => array('$and' => array(
                array('date' => $date), 
                array('$or'=>$sites)))), 
        array( 
          '$group' => array(
           '_id' => '$date', 
          'sum' => array('$sum' => '$ammount') 
          ) 
         ) 
       ) 
     ) 
    ); 

если я ставлю $ammount в _id он отображает ammount без sum.

(приписка имя столбца $ammount правильно)

+0

вы фильтрации по дате и некоторые другие вещи первой - вы уверены, что есть какие-либо документы, осталось сложить? –

+0

Да есть соответствующие ему документы – Smit

ответ

0

MongoDB не смог вернуть сумму причины суммой хранилась в виде строки. Я преобразовал его в двойное, и это сработало.

Монго не возвращает ошибку для его

Смежные вопросы