MongoDB में, $orderBy query संशोधक किसी क्वेरी के परिणामों को आरोही या अवरोही क्रम में क्रमबद्ध करता है।
$orderBy एक दस्तावेज़ स्वीकार करता है जो फ़ील्ड को सॉर्ट करने के लिए निर्दिष्ट करता है, और सॉर्ट ऑर्डर। सॉर्ट क्रम या तो 1 . हो सकता है आरोही या -1 . के लिए उतरने के लिए।
$orderBy mongo . में पदावनत कर दिया गया है v3.2 के बाद से खोल। cursor.sort() का उपयोग करें इसके बजाय विधि।
नमूना डेटा
मान लीजिए हमारे पास pets . नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Kangaroo", "weight" : 100 }
{ "_id" : 6, "name" : "Hop", "type" : "Kangaroo", "weight" : 130 }
{ "_id" : 7, "name" : "Punch", "type" : "Kangaroo", "weight" : 200 }
{ "_id" : 8, "name" : "Snap", "type" : "Cat", "weight" : 12 }
{ "_id" : 9, "name" : "Ruff", "type" : "Dog", "weight" : 30 } आरोही क्रम में क्रमित करें
आरोही क्रम में क्रमबद्ध करने के लिए, हम 1 . का उपयोग करते हैं सॉर्ट ऑर्डर के लिए।
नीचे एक क्वेरी का उदाहरण दिया गया है जो $orderBy . का उपयोग करती है क्वेरी संशोधक उस संग्रह को weight . द्वारा क्रमबद्ध करने के लिए फ़ील्ड आरोही क्रम में।
db.pets.find( { $query: {}, $orderBy: { weight: 1 } } ) परिणाम:
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 8, "name" : "Snap", "type" : "Cat", "weight" : 12 }
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 9, "name" : "Ruff", "type" : "Dog", "weight" : 30 }
{ "_id" : 5, "name" : "Bruce", "type" : "Kangaroo", "weight" : 100 }
{ "_id" : 6, "name" : "Hop", "type" : "Kangaroo", "weight" : 130 }
{ "_id" : 7, "name" : "Punch", "type" : "Kangaroo", "weight" : 200 } अवरोही क्रम में क्रमबद्ध करें
अवरोही क्रम में क्रमबद्ध करने के लिए, हम -1 . का उपयोग करते हैं सॉर्ट ऑर्डर के लिए।
db.pets.find( { $query: {}, $orderBy: { weight: -1 } } ) परिणाम:
{ "_id" : 7, "name" : "Punch", "type" : "Kangaroo", "weight" : 200 }
{ "_id" : 6, "name" : "Hop", "type" : "Kangaroo", "weight" : 130 }
{ "_id" : 5, "name" : "Bruce", "type" : "Kangaroo", "weight" : 100 }
{ "_id" : 9, "name" : "Ruff", "type" : "Dog", "weight" : 30 }
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 8, "name" : "Snap", "type" : "Cat", "weight" : 12 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } एक वैकल्पिक फ़ॉर्म
$orderBy क्वेरी संशोधक का उपयोग निम्न फ़ॉर्म के साथ भी किया जा सकता है:
db.pets.find()._addSpecial( "$orderby", { weight : 1 } ) अधिक जानकारी
जैसा कि बताया गया है, $orderBy क्वेरी संशोधक को mongo . में हटा दिया गया है v3.2 के बाद से खोल। cursor.sort() का उपयोग करें इसके बजाय विधि।
अधिक जानकारी के लिए MongoDB दस्तावेज़ देखें।