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

MongoDB में सभी डॉक्यूमेंट्स पर ऐरे के नवीनतम एंट्रीज़ कैसे ढूंढें

एग्रीगेशन: $unwind, $sort, $limit, $group से नवीनतम ऐरे एलिमेंट्स प्राप्त करें

सभी डॉक्यूमेंट्स के ऐरे फ़ील्ड में से नवीनतम (सबसे बड़े ID वाले) एलिमेंट्स प्राप्त करने के लिए एग्रीगेशन पाइपलाइन का उपयोग करें।

उदाहरण: संग्रह बनाना

> db.demo179.insertOne({
    "Name": "Chris",
    "Details": [{"Id": 101, "Subject": "MongoDB"}, {"Id": 102, "Subject": "MySQL"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e3980299e4f06af551997f9") }
> db.demo179.insertOne({
    "Name": "David",
    "Details": [{"Id": 103, "Subject": "Java"}, {"Id": 104, "Subject": "C"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e39802a9e4f06af551997fa") }

सभी डॉक्यूमेंट्स देखना

> db.demo179.find().pretty();
{
    "_id": ObjectId("5e3980299e4f06af551997f9"),
    "Name": "Chris",
    "Details": [{"Id": 101, "Subject": "MongoDB"}, {"Id": 102, "Subject": "MySQL"}]
}
{
    "_id": ObjectId("5e39802a9e4f06af551997fa"),
    "Name": "David",
    "Details": [{"Id": 103, "Subject": "Java"}, {"Id": 104, "Subject": "C"}]
}

नवीनतम एंट्रीज़ ढूंढने की एग्रीगेशन क्वेरी

> db.demo179.aggregate([
    { "$unwind": "$Details" },
    { "$sort": { "Details.Id": -1 } },
    { "$limit": 2 },
    {
        "$group": {
            "_id": "$Details.Id",
            "Name": { "$first": "$Name" },
            "Details": { "$push": "$Details" }
        }
    },
    {
        "$project": { "_id": 0, "Name": 1, "Details": 1 }
    }
])

आउटपुट:

{ "Name": "David", "Details": [{"Id": 103, "Subject": "Java"}] }
{ "Name": "David", "Details": [{"Id": 104, "Subject": "C"}] }

पाइपलाइन ने सभी डिटेल्स को अनविंड किया, ID डिसेंडिंग क्रम में सॉर्ट किया, शीर्ष 2 लिए, फिर ग्रुप करके प्रोजेक्ट किया।

  1. - MongoDB में ऐरे में कैसे जोड़ें?

    MongoDB में ऐरे में जोड़ने के लिए $concatArrays ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo435.insertOne({"FirstName":["Chris"],"LastName":["Brown"]} ); {    "acknowledged" : true,    "inserted

  1. - MongoDB में ऐरे के आधार पर दस्तावेज़ कैसे फ़िल्टर करें?

    ऐरे के आधार पर दस्तावेज़ फ़िल्टर करने के लिए $elemMatch का उपयोग करें। $elemMatch ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें एक ऐरे फ़ील्ड होता है। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo453.insertOne( ... { _id: 101, details: [ { Name: "David", Marks: 60 }, { Name: "M

  1. - MongoDB में सरणी के भीतर मिलान ऑब्जेक्ट्स की संख्या के आधार पर डॉक्यूमेंट्स कैसे ढूंढें?

    आइए एक उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo694.insertOne( ... { details : [ { Name : Chris, Age:21 }, { Name : David, Age:22 } ] } ); { acknowledged : true, insertedId : ObjectId(5ea59279ece4e5779399c07f) } > db.demo694.insertOne( ... { details : [ { Name :