相当于mongo中的mysql max和min函数?

时间:2014-06-24 04:23:45

标签: php mysql mongodb mongodb-query aggregation-framework

如何在mongo中编写以下查询?

select max(priority) as max, min(priority) as min from queue group by user

如果您使用PHP提供解决方案,我将非常感激。

谢谢

1 个答案:

答案 0 :(得分:2)

这样的查询是使用聚合framwework和.aggregate()方法执行的。他们使用$group管道阶段与$min$max运算符。

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