MongoDB按日期分组

时间:2012-10-03 07:29:07

标签: php mongodb date group-by

我在mongodb中有一个名为“notifications”的集合,我想要的是查询所有通知并按“日期”对它们进行分组。我在通知集合中有一个名为“date_created”的字段,其中包含MongoDate()对象,因此我想要的输出是,

通过=>分组的通知“今天”,其中包含今天创建的所有通知 通过=>分组的通知“昨天”,其中包含昨天创建的所有通知,

并且清单明天就会出现。

2 个答案:

答案 0 :(得分:0)

        $pipeline= array( '$group' => array( "_id" => '$col2',
                                                            'col1' => array('$sum' => '$col1') ,
                                                             'col3' => array('$sum' => '$col3'),
                                                              'col4' => array('$sum' => '$col4')    
                                                        )
                                                    )   ;               

                   if ($this -> publisher_id) {         
                        $pipeline=array_merge($pipeline, array('col5' => $this -> col5value));
                    }

                     $conn = new Mongo();
                     $c = $conn->$db;

                     $result = $c-> command (
                                    array( 
                                        "aggregate" => "tablename",
                                        "pipeline" => 
                                            array($pipeline)
                                    )
                                );
Note : sql query :
select sum(col1) as col1,... from tablename
where col5='value' group by col2

答案 1 :(得分:0)

您的分组需要多么复杂?您可能只想在文档中的相应字段上使用sort