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

नेस्टेड MongoDB डॉक्यूमेंट्स से केवल कीज़ कैसे प्रदर्शित करें?


आइए एक कलेक्शन बनाते हैं:

> db.demo740.insertOne({ "details": [ { Name:"Chris", Age:21, CountryName:"US" }, { Name:"Bob", Age:20, CountryName:"UK", isMarried:true } ] }); { "acknowledged" : true, "insertedId" : ObjectId("5ead700c57bb72a10bcf066d") }

find() से सभी डॉक्यूमेंट्स देखें:

> db.demo740.find();

आउटपुट:

नेस्टेड MongoDB डॉक्यूमेंट्स की कीज़ प्राप्त करने के लिए aggregation क्वेरी:

> db.demo740.aggregate([ ... { $project: { ListKeys: { $reduce: { input: "$details", initialValue: [], in: { $concatArrays: [ "$$value", { $map: { input: { $objectToArray: "$$this" }, in: "$$this.k" } } ] } } } } } ... ]).pretty()

परिणाम (सभी कीज़ की सूची, डुप्लिकेट सहित):


  1. - MongoDB 4 में दस्तावेजों को सॉर्ट करें और केवल एक फील्ड प्रदर्शित करें

    MongoDB 4 में दस्तावेजों को सॉर्ट करने के लिए sort() का उपयोग करें। केवल एक फील्ड दिखाने के लिए, जो सॉर्ट की गई है, उसे 1 पर सेट करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo611.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e987110f6b89257f5584d83) } > d

  1. - MongoDB में केवल यूनिक रिकॉर्ड्स प्रदर्शित करना और डुप्लिकेट्स को अनदेखा करना

    किसी फ़ील्ड के विशिष्ट मान प्राप्त करने के लिए distinct() मेथड का उपयोग करें। डेमो डेटा > db.demo613.insertOne({Name:Chris}); > db.demo613.insertOne({Name:Bob}); > db.demo613.insertOne({Name:Bob}); > db.demo613.insertOne({Name:David}); > db.demo613.insertOne({Name:Chris}); > db.de

  1. - Java का उपयोग करके MongoDB कलेक्शन से सभी डॉक्यूमेंट्स कैसे प्राप्त करें?

    आप MongoDB में मौजूदा कलेक्शन से find() मेथड का उपयोग करके डॉक्यूमेंट्स प्राप्त कर सकते हैं। सिंटैक्स db.coll.find() जहां, db डेटाबेस है। coll वह कलेक्शन (नाम) है जिससे आप डॉक्यूमेंट्स प्राप्त करना चाहते हैं। उदाहरण मान लें कि MongoDB डेटाबेस में students नामक एक कलेक्शन है जिसमें निम्नलिखित डॉक्