我在 mongodb 中有一个名为“通知”的集合,我想要的是查询所有通知并按“日期”对它们进行分组。我在通知集合中有一个名为“date_created”的字段,其中包含 MongoDate() 对象,所以我想要的输出是,
按 =>“今天”分组的通知,其中包含今天创建的所有通知 按 =>“昨天”分组的通知,其中包含昨天创建的所有通知,
并且清单逐日进行。
您的分组需要多复杂?您可能只想对文档中的相应字段进行排序。
$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