クエリに問題があります:
したい
SELECT "user_info" と SUM "amount" および GROUP BY "user_id"
Laravel 5 とjenssegers/laravel-mongodbを使用しています
どうもありがとう。
クエリに問題があります:
したい
SELECT "user_info" と SUM "amount" および GROUP BY "user_id"
Laravel 5 とjenssegers/laravel-mongodbを使用しています
どうもありがとう。
.groupBy()
パフォーマンスを向上させるには、基本的に mapReduce メソッドをラップするメソッドではなく、MongoDB サーバー上のネイティブ コードを使用するため、基礎となる MongoDB ドライバーの集約フレームワーク メソッドを使用します。
$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")
)
)
));
});