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

MongoDB में सबडॉक्यूमेंट को क्वेरी करके एक लाइन में कैसे प्रिंट करें

$unwind और JavaScript फ़ंक्शन से सबडॉक्यूमेंट्स को फ़्लैट करें

जब एक डॉक्यूमेंट में ऐरे ऑफ़ सबडॉक्यूमेंट्स हो और आप प्रत्येक सबडॉक्यूमेंट को अलग लाइन में प्रिंट करना चाहें, तो $unwind के साथ एग्रीगेशन और कर्सर इटरेशन का उपयोग करें।

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

> db.demo183.insertOne({
    "_id": "110",
    "DueDate": ISODate("2020-02-04T01:10:42.000Z"),
    "ProductDetails": [
        {"ProductName": "Product-1", "isAvailable": true},
        {"ProductName": "Product-2", "isAvailable": false}
    ]
});
{ "acknowledged": true, "insertedId": "110" }

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

> db.demo183.find().pretty();
{
    "_id": "110",
    "DueDate": ISODate("2020-02-04T01:10:42Z"),
    "ProductDetails": [
        {"ProductName": "Product-1", "isAvailable": true},
        {"ProductName": "Product-2", "isAvailable": false}
    ]
}

सबडॉक्यूमेंट्स को एक लाइन में प्रिंट करने की क्वेरी

> var productdata = function(d) {
    print(d.DueDate + ", " + d.ProductDetails.ProductName + ", " + d.ProductDetails.isAvailable);
}
> var iterator = db.demo183.aggregate([
    {$match: {_id: "110"}},
    {$unwind: '$ProductDetails'}
]);
> iterator.forEach(productdata);

आउटपुट:

Tue Feb 04 2020 06:40:42 GMT+0530 (India Standard Time), Product-1, true
Tue Feb 04 2020 06:40:42 GMT+0530 (India Standard Time), Product-2, false

प्रत्येक सबडॉक्यूमेंट अब अलग लाइन पर प्रिंट होता है।

  1. - MongoDB में Subdocument को Document से Remove करना

    Document से subdocument remove करने के लिए $pull operator का उपयोग update() के साथ करें। आइए पहले documents के साथ एक collection बनाते हैं: > db.demo538.insertOne( ... { ... id:101, ... details : ... { ... anotherDetails: ... [ ... { ... Name:Chris, ... Age:21

  1. - MongoDB क्वेरी: ऐरे के केवल एक एलिमेंट को स्लाइस करें

    ऐरे के केवल एक एलिमेंट को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }

  1. - MongoDB में एक क्वेरी से कई डॉक्यूमेंट्स कैसे अपडेट करें?

    एक क्वेरी से कई डॉक्यूमेंट्स अपडेट करने के लिए MongoDB में bulkWrite() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); { acknowledged : true, insertedId : ObjectId(5eb0309f5637cd592b2a4aee) } > db.demo760.insertOne({id:2,details:{Value1: