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

集計ステップで見つかったmax(value)を共有するすべてのドキュメントを検索します

    これを行うには、num_soldでグループ化します。 次に、$sortを使用します および$limit 最大値のドキュメントのみを取得するためのパイプラインステージ:

    db.t.aggregate([
        // Group by num_sold, assembling an array of docs with each distinct value.
        {$group: {
            _id: '$num_sold',
            docs: {$push: '$$ROOT'}
        }},
        // Sort the groups by _id descending to put the max num_sold group first.
        {$sort: {_id: -1}},
        // Return just the first (max num_sold) group of docs.
        {$limit: 1}
    ])
    

    出力:

    { 
        "_id" : 55.0, 
        "docs" : [
            {
                "_id" : ObjectId("5726a62879ce3350ff8d607e"), 
                "item" : "Orange", 
                "num_sold" : 55.0
            }, 
            {
                "_id" : ObjectId("5726a62879ce3350ff8d607f"), 
                "item" : "Peach", 
                "num_sold" : 55.0
            }
        ]
    }
    



    1. mongocxx c ++ドライバーを使用してMongodbドキュメントを再帰的に生成するにはどうすればよいですか?

    2. Meteorのmongoクエリで読み取り設定を指定する方法

    3. MongoDBが不明なキーでコレクションを検索

    4. 以前のバージョンのmongodbをhomebrewでインストールするにはどうすればよいですか?