sql >> データベース >  >> NoSQL >> MongoDB

Mongoose Aggregate:$group内のレコード数を制限します

    $firstを使用できます ソートされたパイプラインの各グループの最初のドキュメントから値を取得するには:

    var allids = ['xxxxx','yyyy'];
    Game.aggregate([
        {$match: {'oid': {$in:allids}}},
        {$sort: {'number_plays': -1}},
        {$group: {
            _id: '$oid', 
            game_name: {$first: "$game_name"}, 
            game_id: {$first: "$game_id"}, 
            number_plays: {$first:"$number_plays"}
        }}
    ], function(err,list){
        console.log(list);
        res.end();
    });
    

    number_playsで並べ替えたため パイプラインの前のステージで降順で、これは各oidから値を取得します number_playsが最も高いグループのドキュメント 。




    1. MongoDB $ date演算子を使用してクエリを実行する方法は?

    2. MongoDBの接続文字列(例付き)

    3. mongodb findOne with Explain

    4. サーバーがSASL認証ステップでエラーを返しました:認証に失敗しました