-1

数日間、作業集計を考え出そうとしましたが、取得できません。

次のようなコレクションがあります。

_id: ObjectId("52672ca368a56f481d000045"),  
totalviews: 5, 
views: [ 
  {date: ISODate("2013-10-23T01:55:47Z") },
  {date: ISODate("2013-10-23T01:55:50Z") },
  {date: ISODate("2013-10-23T23:31:08Z")},
  {etc.}
]

私がやろうとしているのは、毎日の合計ビュー数を取得して、(「ビュー」からの) 日付のリストとその日の合計を表示できるようにすることです。

誰かがこれを行う方法を教えてもらえますか?

ありがとうございました

編集 - 以下のコードは正常に動作します 他の人に役立つ場合に備えて、提供されているソリューションの php コードを次に示します。

$ops = array(
array('$unwind' => '$views'),
array('$project' => array('date'=>array(
    'day'=>array('$dayOfMonth'=>'$views.date'),
    'month'=>array('$month'=>'$views.date'),
    'year'=>array('$year'=>'$views.date'))
)),
array('$group'=>array('_id'=>'$date','views'=>array('$sum'=>1))) 
);

$data = $collection->aggregate($ops);
4

1 に答える 1