我已经尝试了几天现在想出一个工作聚合,但我只是没有得到它。如何使用Mongo聚合来获得每个天数组的总“页面浏览量”
我有一个类似于以下内容的集合。
_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);
请提供例如输入和预期的输出。现在你的问题还不清楚。您希望每个文档的每日观看次数或每个集合的每日观看次数?你也应该展示你到目前为止尝试过的东西。 – zero323