Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में ऐरे को सॉर्ट करने का सबसे आसान तरीका

MongoDB एग्रीगेशन में ऐरे एलिमेंट्स सॉर्ट करना

MongoDB में एम्बेडेड ऐरे को सॉर्ट करने के लिए $unwind, $sort, और $group का संयोजन उपयोग किया जाता है।

सैंपल डेटा बनाना

> db.demo242.insertOne({
    "details2": [
        {"ShipingDate":new ISODate("2019-10-11"),"Price":1400},
        {"ShipingDate":new ISODate("2019-10-01"),"Price":1600}
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4429229af932883c61ea44") }

दस्तावेज़ देखना

> db.demo242.find();

आउटपुट (अनसॉर्टेड ऐरे):

{ "_id" : ObjectId("5e4429229af932883c61ea44"), "details2" : [
    { "ShipingDate" : ISODate("2019-10-11T00:00:00Z"), "Price" : 1400 },
    { "ShipingDate" : ISODate("2019-10-01T00:00:00Z"), "Price" : 1600 }
] }

ऐरे को सॉर्ट करने की एग्रीगेशन पाइपलाइन

> db.demo242.aggregate([
    {$unwind: "$details2"},
    {$sort: {"details2.ShipingDate":1}},
    {$group: {_id:"$_id", details2: {$push:"$details2.ShipingDate"}}}
]);

आउटपुट (सॉर्टेड डेट्स ऐरे):

{ "_id" : ObjectId("5e4429229af932883c61ea44"), "details2" : [
    ISODate("2019-10-01T00:00:00Z"),
    ISODate("2019-10-11T00:00:00Z")
] }

पूरे ऑब्जेक्ट्स को सॉर्ट करके रखना

यदि आप पूरे ऑब्जेक्ट्स को सॉर्टेड ऑर्डर में रखना चाहते हैं:

> db.demo242.aggregate([
    {$unwind: "$details2"},
    {$sort: {"details2.ShipingDate": 1}},
    {$group: {_id: "$_id", details2: {$push: "$details2"}}}
]);

नोट

  • $unwind ऐरे को डी-कंस्ट्रक्ट करता है
  • $sort डी-कंस्ट्रक्टेड एलिमेंट्स को सॉर्ट करता है
  • $group + $push ऐरे को पुनर्निर्मित करता है
  • MongoDB 3.6+ में $sortArray ऑपरेटर अधिक सरल विकल्प है
  1. - MongoDB एग्रीगेशन फ्रेमवर्क में सरणी की लंबाई के आधार पर सॉर्ट कैसे करें?

    MongoDB में दस्तावेज़ों को सरणी फील्ड की लंबाई के आधार पर सॉर्ट करने के लिए, एग्रीगेशन पाइपलाइन का उपयोग करें: $unwind → $group साथ $sum → $sort। उदाहरण: छात्र सूची वाले दस्तावेज़ > db.demo33.insertOne({ListOfStudent:[Chris,Bob]}); { acknowledged : true, insertedId : ObjectId(5e17556ccfb11e5c34d

  1. - MongoDB में नेस्टेड सरणी को कैसे सॉर्ट करें?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo505.insertOne( { details: [ { Name:Chris, Score:58 }, { Name:Bob, Score:45 }, { Name:John, Score:68 }, { Name:David, Score:46 } ] }); { ackn

  1. - MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करें

    MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए, $sort के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo577.insertOne({ student: { details: [ { Name:Chris, Score:45 }, { Name:Bob, Score:33 }, { Name:Davi