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
समारोह।