मैं मोंगोडब और एकत्रीकरण ढांचे के लिए नया हूं लेकिन जवाब पर विचार कर रहा हूं टिम बी दिया मैं इसके साथ आया:
db.coll.aggregate(
{ $project : {
"ranking" : {
"$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
}
}
},
{ $sort : {"ranking" : 1}})
$project का उपयोग करना आप अपने मामले में रैंकिंग फ़ील्ड में, पूर्व-गणना किए गए मानों को सम्मिलित करने के लिए दस्तावेज़ों को फिर से आकार दे सकते हैं। उसके बाद $sort का इस्तेमाल करके आप आरोही के लिए 1 या अवरोही के लिए -1 निर्दिष्ट करके दस्तावेज़ों को रैंक के अनुसार क्रमबद्ध कर सकते हैं।
भयानक कोड स्वरूपण के लिए मुझे खेद है, मैंने इसे यथासंभव पठनीय बनाने की कोशिश की।