私はMongodbと集約フレームワークに不慣れですが、答えを検討しています Tim B 私はこれを思いついた:
db.coll.aggregate(
{ $project : {
"ranking" : {
"$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
}
}
},
{ $sort : {"ranking" : 1}})
$project を使用する ドキュメントの形状を変更して、事前に計算された値(この場合はランキングフィールド)を挿入できます。その後、 $sort を使用します 昇順の場合は1、降順の場合は-1を指定することで、ドキュメントをランク順に並べ替えることができます。
ひどいコードフォーマットでごめんなさい、私はそれをできるだけ読みやすくしようとしました。