Tôi mới sử dụng Mongodb và các khuôn khổ tổng hợp nhưng đang xem xét câu trả lời Tim B cho tôi nghĩ ra cái này:
db.coll.aggregate(
{ $project : {
"ranking" : {
"$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
}
}
},
{ $sort : {"ranking" : 1}})
Sử dụng $ project bạn có thể định hình lại tài liệu để chèn các giá trị được tính toán trước, trong trường hợp của bạn là trường xếp hạng. Sau đó, sử dụng $ sort bạn có thể sắp xếp các tài liệu theo thứ tự theo thứ tự bạn thích bằng cách chỉ định 1 cho tăng dần hoặc -1 cho giảm dần.
Tôi xin lỗi vì định dạng mã tồi tệ, tôi đã cố gắng làm cho nó dễ đọc nhất có thể.