1

クエリに問題があります:

ここに画像の説明を入力

したい

SELECT "user_info" と SUM "amount" および GROUP BY "user_id"

Laravel 5 とjenssegers/laravel-mongodbを使用しています

どうもありがとう。

4

2 に答える 2

2

.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")
            )
        )   
    ));
});
于 2016-06-16T06:43:58.950 に答える