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

MongoDB में डॉक्यूमेंट की ऐरे के प्रत्येक एलिमेंट को कंडीशन से कैसे मैच करें?

MongoDB में $where और every() का उपयोग करके ऐरे एलिमेंट्स की जांच

MongoDB में डॉक्यूमेंट की ऐरे के प्रत्येक एलिमेंट को एक कंडीशन से मैच करने के लिए आप JavaScript के every() मेथड का उपयोग $where क्लॉज के साथ कर सकते हैं।

उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना

> db.arrayConditionDemo.insertOne({"Name":"John","Marks":[40,43,45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd06de8cc557214c0e1a") }
> db.arrayConditionDemo.insertOne({"Name":"Mike","Marks":[45]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd17de8cc557214c0e1b") }
> db.arrayConditionDemo.insertOne({"Name":"Chris","Marks":[43,45,59,69,78,89]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdbd3cde8cc557214c0e1c") }

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

> db.arrayConditionDemo.find().pretty();

आउटपुट:

{ "_id" : ObjectId("5cbdbd06de8cc557214c0e1a"), "Name" : "John", "Marks" : [ 40, 43, 45 ] }
{ "_id" : ObjectId("5cbdbd17de8cc557214c0e1b"), "Name" : "Mike", "Marks" : [ 45 ] }
{ "_id" : ObjectId("5cbdbd3cde8cc557214c0e1c"), "Name" : "Chris", "Marks" : [ 43, 45, 59, 69, 78, 89 ] }

कंडीशन के साथ क्वेरी: प्रत्येक मार्क्स 40 से 100 के बीच हो

> db.arrayConditionDemo.find("return this.Marks.every(function(m) { return (m >= 40 && m <= 100) })");

आउटपुट:

{ "_id" : ObjectId("5cbdbd06de8cc557214c0e1a"), "Name" : "John", "Marks" : [ 40, 43, 45 ] }
{ "_id" : ObjectId("5cbdbd17de8cc557214c0e1b"), "Name" : "Mike", "Marks" : [ 45 ] }
{ "_id" : ObjectId("5cbdbd3cde8cc557214c0e1c"), "Name" : "Chris", "Marks" : [ 43, 45, 59, 69, 78, 89 ] }

नोट: $where क्लॉज JavaScript एक्सप्रेशन का उपयोग करता है, जो बड़े डेटासेट पर धीमा हो सकता है। बेहतर परफॉरमेंस के लिए एग्रीगेशन पाइपलाइन का उपयोग करने पर विचार करें।

  1. - MongoDB में एम्बेडेड दस्तावेजों के ऐरे को क्वेरी करें और नया जोड़ें

    इसके लिए, अपडेट के साथ $push का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo573.insertOne( { _id: 101, SearchInformation: [ { Site: Facebook.com, NumberOfHits: 100 }, { Site: Twitter.com, NumberOfHits: 300 } ] } ); { ac

  1. - MongoDB क्वेरी: ऐरे फील्ड वाले दस्तावेजों को मैच करें

    ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo592.insertOne({ id:101, details: [ { Name: Chris, Value: 200 }, { Name: David, Value: 800 } ] }); { acknowledged : true, insertedId : Ob

  1. - MongoDB क्वेरी: एग्रीगेशन में ऐरे एलिमेंट का औसत प्राप्त करें

    ऐरे एलिमेंट्स का औसत प्राप्त करने के लिए, $avg का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo584.insertOne({Marks:[75,50,85,60,80]}); { acknowledged : true, insertedId : ObjectId(5e91d827fd2d90c177b5bcc2) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज प्रदर्शित करें: >