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

mongodbで上位5つの値を見つける方法は?同じ値を含めることはできません

    ええと、集約パイプラインを使用して、見たい形式でデータをグループ化して投影することができます。

    db.col.aggregate([
    {$group:{_id:"$Appname", softcount:{$max:"$softcount"}}},
    {$project:{_id:0, "Appname":"$_id", softcount:1}},
    {$sort:{softcount:-1}},
    {$limit: 5}
    ])
    

    入力が質問で言及したものである場合、これは次の結果を出力します。

    { 
        "softcount" : 10.0, 
        "Appname" : "ktr"
    }
    { 
        "softcount" : 8.0, 
        "Appname" : "rsr"
    }
    { 
        "softcount" : 6.0, 
        "Appname" : "ssl"
    }
    { 
        "softcount" : 5.0, 
        "Appname" : "ppr"
    }
    { 
        "softcount" : 4.0, 
        "Appname" : "crs"
    }
    

    MongoDB集約フレームワークの詳細については、https://docs.mongodb.org/manual/aggregationをご覧ください。 /



    1. MongoDB:並列処理なしでMapReduceを使用する意味は何ですか?

    2. mongo`で複数のクエリを実行する

    3. 文字列値から空白(先頭と末尾)を削除する

    4. Tornado + Celery + RabbitMQ + Redisを使用できますか?