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

सरणी फ़ील्ड में उप-दस्तावेज़ों को कैसे क्रमबद्ध करें?

MongoDB बॉक्स से बाहर ऐसा करने का कोई तरीका प्रदान नहीं करता है, लेकिन एक समाधान है जो आपके दस्तावेज़ों को अपडेट करना और $sort का उपयोग करना है। अपने सरणी को क्रमबद्ध करने के लिए ऑपरेटर को अपडेट करें।

db.collection.update_many({}, {"$push": {"topics": {"$each": [], "$sort": {"weight": -1}}}})

आप अब भी .aggregate() . का इस्तेमाल कर सकते हैं इस तरह की विधि:

db.collection.aggregate([
    {"$unwind": "$topics"}, 
    {"$sort": {"_id": 1, "topics.weight": -1}}, 
    {"$group": {"_id": "$_id", "topics": {"$push": "$topics"}}}
])

लेकिन यह कम कुशल है यदि आप केवल अपनी सरणी को क्रमबद्ध करना चाहते हैं, और आपको निश्चित रूप से ऐसा नहीं करना चाहिए।

आप इस क्लाइंट साइड को .sort . का उपयोग करके हमेशा कर सकते हैं या sorted समारोह।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB प्रतिकृति सरल पासवर्ड प्रमाणीकरण के साथ सेट है

  2. मोंगोडीबी $dateFromString

  3. mongoose.js क्वेरीज़ को समकालिक रूप से चलाना

  4. नेवला:सत्यापन त्रुटि पथ आवश्यक है

  5. NodeJs में Mongodb के वैश्विक कनेक्शन को संभालने का सबसे अच्छा तरीका क्या है?