【发布时间】:2014-06-24 04:23:44
【问题描述】:
如何在 mongo 中编写以下查询?
select max(priority) as max, min(priority) as min from queue group by user
如果您提供 PHP 解决方案,我将不胜感激。
谢谢
【问题讨论】:
标签: php mysql mongodb mongodb-query aggregation-framework
如何在 mongo 中编写以下查询?
select max(priority) as max, min(priority) as min from queue group by user
如果您提供 PHP 解决方案,我将不胜感激。
谢谢
【问题讨论】:
标签: php mysql mongodb mongodb-query aggregation-framework
这样的查询是使用聚合框架和.aggregate() 方法执行的。他们使用带有$min 和$max 运算符的$group 管道阶段。
db.collection.aggregate([
{ "$group": {
"_id": "$user",
"max": { "$max": "$priority" },
"min": { "$min": "$priority" }
}}
])
或更多 PHP 语法:
$collection->aggregate(array(
array(
'$group' => array (
'_id' => '$user',
'max' => array( '$max' => '$priority' ),
'min' => array( '$min' => '$priority' )
)
)
));
另请参阅文档中的SQL to Aggregation Mapping Chart
【讨论】: