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

MongoDB में एग्रीगेशन फ्रेमवर्क से एम्बेडेड ऑब्जेक्ट को डॉक्यूमेंट के रूप में कैसे प्राप्त करें

$replaceRoot स्टेज से एम्बेडेड ऑब्जेक्ट को रूट डॉक्यूमेंट बनाएं

MongoDB एग्रीगेशन में $replaceRoot स्टेज का उपयोग करके किसी एम्बेडेड ऑब्जेक्ट को नया रूट डॉक्यूमेंट बना सकते हैं, जिससे आउटपुट में केवल वही ऑब्जेक्ट रहता है।

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

> db.embeddedObjectDemo.insertOne({
    _id: new ObjectId(),
    "UserDetails": {"UserName": "John", "UserAge": 24, "UserEmailId": "John22@gmail.com"}
});
{ "acknowledged": true, "insertedId": ObjectId("5ced580fef71edecf6a1f693") }
> db.embeddedObjectDemo.insertOne({
    _id: new ObjectId(),
    "UserDetails": {"UserName": "Carol", "UserAge": 26, "UserEmailId": "Carol123@gmail.com"}
});
{ "acknowledged": true, "insertedId": ObjectId("5ced5828ef71edecf6a1f694") }

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

> db.embeddedObjectDemo.find().pretty();
{
    "_id": ObjectId("5ced580fef71edecf6a1f693"),
    "UserDetails": {"UserName": "John", "UserAge": 24, "UserEmailId": "John22@gmail.com"}
}
{
    "_id": ObjectId("5ced5828ef71edecf6a1f694"),
    "UserDetails": {"UserName": "Carol", "UserAge": 26, "UserEmailId": "Carol123@gmail.com"}
}

एम्बेडेड ऑब्जेक्ट को रूट बनाने की क्वेरी

> db.embeddedObjectDemo.aggregate([
    {
        $replaceRoot: { newRoot: "$UserDetails" }
    }
]);

आउटपुट:

{
    "UserName": "John", "UserAge": 24, "UserEmailId": "John22@gmail.com"
}
{
    "UserName": "Carol", "UserAge": 26, "UserEmailId": "Carol123@gmail.com"
}

अब प्रत्येक परिणाम एक स्वतंत्र डॉक्यूमेंट है जिसमें UserDetails के फ़ील्ड्स हैं। मूल _id और अन्य फ़ील्ड्स हटा दिए गए हैं।

उपयोग: यह तब उपयोगी है जब आपको केवल एम्बेडेड डेटा को आगे प्रोसेस करना हो या किसी अन्य संग्रह में आउटपुट करना हो।

  1. - MongoDB में विशिष्ट एम्बेडेड दस्तावेज़ कैसे लौटाएं?

    MongoDB में विशिष्ट एम्बेडेड दस्तावेज़ के लिए $unwind का दो बार उपयोग करें। नमूना डेटा बनाना (नेस्टेड ऐरे) db.demo631.insert( { id: 101, Info1: [ { CountryName: US, Info2: [ { Name:Chris, Age:24 }, { Name:Bob, Age:22 } ] } ] } ); दस्तावेज़ देखना db.demo631.find(); { id : 101, Info1 : [

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    नेस्टेड दस्तावेज को अपडेट करने के लिए, update() का उपयोग करें और उसके भीतर डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo607.insertOne({ id:1, Info1: { Name: Chris, Age: 21, Info2: { SubjectName: MongoDB, Ma

  1. - MongoDB में एम्बेडेड डॉक्यूमेंट में निश्चित तत्व कैसे ढूंढें?

    निश्चित तत्व ढूंढने के लिए MongoDB में $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo744.insertOne( { studentInformation: [ { studentName:Robert, grade:A }, { studentName:Bob, grade:C }, { studentName:John, grade:B }, { studentName:Sam, grade:A } ] } ); { acknowledged : true, insert