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

MongoDB में सबडॉक्यूमेंट में ऐरे को कैसे फ़िल्टर करें?


आप एग्रीगेट का उपयोग कर सकते हैं और मैच लागू करने से पहले ऐरे लिस्ट को अनवाइंड कर सकते हैं। उपरोक्त अवधारणा को समझने के लिए, आइए डॉक्यूमेंट्स के साथ एक कलेक्शन बनाएं। डॉक्यूमेंट के साथ कलेक्शन बनाने के लिए क्वेरी इस प्रकार है:

> db.filterArray.insertOne( { "L": [{ "N":1 }, { "N":2 } , { "N":3 }, { "N":4 }, { "N":5 } ]});

उपरोक्त क्वेरी चलाने के बाद निम्नलिखित दिखाई देता है:

{ "acknowledged" : true, "insertedId" : ObjectId("5c6d63f2734e98fc0a434aeb") }

find() मेथड की मदद से कलेक्शन से डॉक्यूमेंट प्रदर्शित करें। क्वेरी इस प्रकार है:

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

निम्नलिखित आउटपुट है:

यहां MongoDB में सबडॉक्यूमेंट में ऐरे फ़िल्टर करने की क्वेरी है। हमने 3 से अधिक फील्ड प्राप्त करने के लिए $gt का उपयोग किया है:

> db.filterArray.aggregate({ $match:{_id:ObjectId("5c6d63f2734e98fc0a434aeb")}}, { $unwind:'$L'}, {$match:{'L.N':{$gt:3}}}, {$group:{_id:'$_id',subDocument:{$push:'$L.N'}}}).pretty();

निम्नलिखित आउटपुट है:

{ "_id" : ObjectId("5c6d63f2734e98fc0a434aeb"), "subDocument" : [ 4, 5 ] }
  1. - MongoDB में ऐरे में आइटम कैसे गिनें?

    ऐरे में आइटम गिनने के लिए length प्रॉपर्टी का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo440.insertOne( ...    { ...       "Name":"Chris", ...       "ListOfFriends":["John","Sam","Mik

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

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

  1. - MongoDB में एम्बेडेड डॉक्यूमेंट की सरणी पर फ़िल्टर क्वेरी कैसे करें?

    इसके लिए MongoDB में aggregate() का उपयोग करें। आइए 3 स्तरों के नेस्टेड डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo736.insertOne( { _id: 101, details1: [ { details2: [ { details3: { Name: John } } ] } ] } ); { acknowledged : true, insertedId : 101 } > db.demo736.insertOne( { _id: 102,