我有我的查询问题:选择之列,组用的MongoDB和Laravel
我想
SELECT “USER_INFO” 用SUM “量” 和GROUP BY “USER_ID”
我使用Laravel 5和jenssegers/laravel,MongoDB的
非常感谢。
我有我的查询问题:选择之列,组用的MongoDB和Laravel
我想
SELECT “USER_INFO” 用SUM “量” 和GROUP BY “USER_ID”
我使用Laravel 5和jenssegers/laravel,MongoDB的
非常感谢。
http://laravel.io/forum/10-05-2014-raw-select-using-jenssegers-laravel-mongodb
检查链接的上方或以此为我写。
$total = DB::table('user_info')->sum('amount')->groupBy('user_id')->get();
为了获得更好的性能使用MongoDB的底层驱动程序的集合框架方法,因为这MongoDB服务器上使用本地代码,而不是.groupBy()
方法基本上包裹的MapReduce方法。
考虑下面的聚合操作,它使用$group
管线和$sum
运营商做的和聚集:
db.collectionName.aggregate([
{
"$group": {
"_id": "$user_id",
"user_info": { "$first": "$user_info" },
"total": { "$sum": "$amount" }
}
}
]);
等效Laravel示例实现:
$postedJobs = DB::collection('collectionName')->raw(function($collection) {
return $collection->aggregate(array(
array(
"$group" => array(
"_id" => "$user_id",
"user_info" => array("$first" => "$user_info")
"total" => array("$sum" => "$amount")
)
)
));
});
谢谢Tejas的, 如果我使用MYSQL: 它像: 'SELECT USER_ID,...,SUM( “量”)作为TOTAL_AMOUNT FROM表 WHERE ... AND ... GROUP BY user_ID的;' 我用你的代码,它不工作我。 我有一些问题: ' - 场“量”的字符串类型保存(不能正常总和)' ' - 一些地方在query.' 感谢。 –