आप जो चाहते हैं उसे वेटिंग कहा जाता है
. ऐसा करने के लिए आपको $project
उनका उपयोग करना और $cond
का उपयोग करना
ऑपरेटर, फिर उन्हें "वजन" के आधार पर आरोही क्रम में और "खरीद मात्रा" के अनुसार अवरोही क्रम में क्रमबद्ध करें।
db.collection.aggregate([
{ "$project": {
"purchasequantity": 1,
"w": {
"$cond": [ { "$eq": [ "$_id", "others" ] }, 1, 0 ]
}
}},
{ "$sort": { "w": 1, "purchasequantity": -1 } }
])
कौन सा रिटर्न:
{ "_id" : "customer100", "purchasequantity" : 4000000, "w" : 0 }
{ "_id" : "customer5", "purchasequantity" : 81800, "w" : 0 }
{ "_id" : "customer4", "purchasequantity" : 40900, "w" : 0 }
{ "_id" : "customer3", "purchasequantity" : 440, "w" : 0 }
{ "_id" : "customer1", "purchasequantity" : 300, "w" : 0 }
{ "_id" : "others", "purchasequantity" : 29999, "w" : 1 }