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

MongoDB में $all ऑपरेटर का उपयोग करके डॉक्यूमेंट्स फ़िल्टर करना

MongoDB में $all ऑपरेटर: सरणी में सभी तत्वों का मिलान

$all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां किसी सरणी फ़ील्ड का मान निर्दिष्ट सरणी में सभी तत्वों को समाहित करता है। क्रम कोई मायने नहीं रखता, लेकिन सभी निर्दिष्ट मान मौजूद होने चाहिए।

नमूना डेटा बनाना

हम demo17 संग्रह में विषयों की सरणी वाले तीन डॉक्यूमेंट्स डालते हैं।

> db.demo17.insertOne({"ListOfSubject": ["MySQL", "MongoDB", "Java"]});
{ "acknowledged": true, "insertedId": ObjectId("5e13847255d0fc6657d21f0a") }
> db.demo17.insertOne({"ListOfSubject": ["C", "Python", "Java"]});
{ "acknowledged": true, "insertedId": ObjectId("5e13847e55d0fc6657d21f0b") }
> db.demo17.insertOne({"ListOfSubject": ["C++", "MongoDB", "PL/SQL"]});
{ "acknowledged": true, "insertedId": ObjectId("5e13849255d0fc6657d21f0c") }

क्वेरी: सभी तीन विषयों वाले डॉक्यूमेंट्स ढूंढें

हम उन डॉक्यूमेंट्स को ढूंढना चाहते हैं जिनमें "C++", "PL/SQL", और "MongoDB" — सभी तीन मौजूद हों।

> db.demo17.find({ "ListOfSubject": { "$all": ["C++", "PL/SQL", "MongoDB"] } });

परिणाम

{ "_id": ObjectId("5e13849255d0fc6657d21f0c"), "ListOfSubject": [ "C++", "MongoDB", "PL/SQL" ] }

केवल तीसरा डॉक्यूमेंट वापस किया गया क्योंकि वही एकमात्र डॉक्यूमेंट है जिसमें तीनों निर्दिष्ट विषय हैं। पहला डॉक्यूमेंट "C++" और "PL/SQL" नहीं रखता, दूसरा "C++" और "PL/SQL" नहीं रखता।

  1. - MongoDB में सभी दस्तावेज़ों में सरणी-आधारित फ़ील्ड्स के अद्वितीय आइटम कैसे गिनें?

    MongoDB में सरणी-आधारित फ़ील्ड्स में अद्वितीय आइटम्स को गिनने के लिए, aggregate() के साथ $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo493.insertOne({SubjectName:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5e849f97b0f3fa88e22790c4) } > db.demo4

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

    सबडॉक्यूमेंट्स को फ़िल्टर करने के लिए, MongoDB एग्रीगेट का उपयोग करें और उसमें $unwind का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo662.insertOne( { details:[ { Name:Chris, Marks:35 }, { Name:Bob, Marks

  1. - MongoDB में सब-डॉक्यूमेंट द्वारा सब-डॉक्यूमेंट्स फ़िल्टर करें

    इसके लिए, $unwind के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo583.insert([ { details1: [ { details2: [ { isMarried: true, Name: Chris }, { isMarried: true, Name: Bob }