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

mongodb集約ソート

    あなたはほとんどそれを持っていました...

    db.test.aggregate(
      {$group: {_id: '$postcode', students: {$sum: 1}}}, 
      {$sort: {_id: -1}}
    );
    

    与える(私はあなたのサンプルに一致するいくつかのテストデータを追加しました):

    {
      "result" : [
        {
            "_id" : 2003,
            "students" : 3
        },
        {
            "_id" : 2002,
            "students" : 1
        },
        {
            "_id" : 2001,
            "students" : 2
        }
      ],
      "ok" : 1
    }
    

    外側の{}がありました すべての周りに、それはいくつかの混乱を引き起こしていました。グループと並べ替えは、パイプラインで別々の操作として機能していませんでした。

    この場合、プロジェクトは実際には必要ありませんでした。

    更新 おそらく、「学生」で並べ替えて、最初に(人口で)最大の郵便番号を取得することをお勧めします。

    db.test.aggregate(
      {$group: {_id: '$postcode', students: {$sum: 1}}}, 
      {$sort: {students: -1}}
    );
    


    1. redisを使用したMongoDB

    2. データベースの更新とセキュリティパッチを簡単に管理する方法

    3. redisでキーを操作する

    4. MVC.netのMongoDBからObjectIdを渡す方法