我在MongoDB
與PHP
使用aggregate
。代碼如下:MongoDB與PHP彙總 - 由日期組
$results = $c->aggregate(array(
array(
'$project' => array(
'day' => array('$dayOfYear' => '$executed')
),
),
array(
'$group' => array(
'_id' => array('day' => '$day'),
'count' => array('$sum' => 1)
),
),
array(
'$sort' => array(
'_id' => 1
),
),
array(
'$limit' => 30
)
));
的問題,這一點,是$dayOfYear
不排序正確的,因爲它按2然後3然後345,346 ...我需要它是迄今上升。所以,基本上,而不是簡單地做$dayOfYear
我需要類似$year-$month-$dayOfMonth
。
不幸的是,這是行不通的。有任何想法嗎?
謝謝。
非常感謝您的工作。有沒有辦法在MongoDB級別包含0行的日期。基本上我想顯示過去30天,但是上面返回30行,但不是最後30天。 – Justin
@Justin好的問題,但不是從我所知道的,因爲依靠行日期實際上填充行。我相信你現在需要做這個客戶端。 – Sammaye
@Sammaye - 我已經建議並在上面的代碼中編輯。您當前的代碼,因爲它是.i.e。 ''$ sort'=> ['_id'=> 1]'只會在白天進行排序,並且會導致如下命令 - 「1/10/2015,2015/2/10,2015/4/9, 6/9/2015 ...等等 – ShalomSam