MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मैं एक एकत्रीकरण के लिए शीर्ष एन बाल्टी कैसे प्राप्त कर सकता हूं और अन्य सभी बाल्टी एक अन्य बाल्टी में संयुक्त हो सकता हूं?

आप जो चाहते हैं उसे वेटिंग कहा जाता है . ऐसा करने के लिए आपको $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 }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - एक क्वेरी के परिणाम सीमित करें

  2. कैसे ठीक करें:'MongoError:प्रमाणीकरण विफल' @MongoDB एटलस

  3. नेवला - वस्तु गुणों तक नहीं पहुँच सकता?

  4. भिक्षु के साथ मोंगो डीबी:डीबी डाउन होने पर त्रुटि पकड़ने और संभालने में त्रुटि

  5. स्प्रिंग MongoDB प्रक्रिया/धागा लीक