通过Unix时间戳,PHP驱动程序按日期对MongoDB聚合进行分组

时间:2018-07-16 21:12:35

标签: php mongodb

我在PHP中使用MongoDB ver3.4。 我有事件记录,并尝试按日期对它们进行分组。 它可以通过Robo3T在mongo shell中运行,但是我很难用PHP方式编写它。

这是我查询的外壳部分

...
{$project: { timestamp:1, d_1: { $multiply: [ "$timestamp", 1000 ]}}},
{$project: { timestamp:1, d_1:1, d_2: { $add: [new Date(0), "$d_1"] }}},       
{$project: { timestamp:1, theDate: {$substr: ["$d_2", 0, 10] }}},      
{$group:   {_id: "$theDate", count: {$sum:1} }},
{$project: { _id:0, date:"$_id", count:1}} 

我得到了漂亮的输出

/* 1 */
{
    "count" : 1.0,
    "date" : "2017-10-12"
}
/* 2 */
{
    "count" : 7.0,
    "date" : "2017-10-13"
}
...

我尝试了很多语法,但是无法解决“新日期”问题 如果我在PHP中使用'add',则UTCDateTime将不起作用,并且new \MongoDate也会失败,并返回null。 有什么想法吗?

0 个答案:

没有答案