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

Mongodb:動的ランキングでソートされたドキュメントを取得する

    私はMongodbと集約フレームワークに不慣れですが、答えを検討しています Tim B 私はこれを思いついた:

    db.coll.aggregate(
          { $project : {
                         "ranking" : { 
                                      "$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
                                     }
                       }
          },
          { $sort : {"ranking" : 1}})
    

    $project を使用する ドキュメントの形状を変更して、事前に計算された値(この場合はランキングフィールド)を挿入できます。その後、 $sort を使用します 昇順の場合は1、降順の場合は-1を指定することで、ドキュメントをランク順に並べ替えることができます。

    ひどいコードフォーマットでごめんなさい、私はそれをできるだけ読みやすくしようとしました。



    1. redisでキーを作成する時間

    2. mongodbに埋め込まれたコメントページング

    3. MongoDB3.6文字列をオブジェクトIDに変換する方法

    4. 春のデータmongodbグループ