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

MongoDB क्वेरी: फील्ड वैल्यू ऐरे होने पर दस्तावेज़ों से नामों की विशिष्ट सूची प्राप्त करना

इसके लिए $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों को चुनता है जहां फील्ड का मान एक ऐरे होता है जिसमें सभी निर्दिष्ट एलिमेंट्स होते हैं।

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

> db.demo642.insertOne({ _id:1, ListOfNames:["Robert","John"] });
> db.demo642.insertOne({ _id:2, ListOfNames:["Robert","Chris"] });

सभी दस्तावेज़ देखना

> db.demo642.find();
{ "ListOfNames" : [ "Robert", "John" ] }
{ "ListOfNames" : [ "Robert", "Chris" ] }

"Chris" और "Robert" दोनों वाले दस्तावेज़ खोजने की क्वेरी

> db.demo642.find({ListOfNames: { $all: [ "Chris", "Robert" ] }})

परिणाम:

{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }

व्याख्या: $all सुनिश्चित करता है कि ऐरे में दोनों मान मौजूद हों। पहला दस्तावेज़ केवल "Robert" और "John" रखता है (Chris नहीं), इसलिए यह मेल नहीं खाता। दूसरा दस्तावेज़ दोनों रखता है।

  1. - MongoDB में ऐरे के अंदर विशिष्ट फ़ील्ड वैल्यू के आधार पर डॉक्यूमेंट काउंट करना

    एम्बेडेड ऐरे में किसी विशिष्ट फ़ील्ड वैल्यू की घटनाओं को गिनने के लिए $unwind, $match और $group का उपयोग करें। डेमो डेटा > db.demo726.insertOne({ id:101, details: [ { Name:Chris }, { Name:Chris }, { Name:Bob } ] }); क्वेरी db.demo726.aggregate([ { $unwind

  1. - MongoDB दस्तावेज़ों में विशिष्ट फ़ील्ड के ऐरे एलिमेंट्स काउंट करना

    किसी फ़ील्ड में ऐरे एलिमेंट्स की संख्या गिनने के लिए $size ऑपरेटर का उपयोग करें। डेमो डेटा > db.demo723.insertOne({Subject:[MySQL,MongoDB]}); > db.demo723.insertOne({Subject:[C]}); > db.demo723.insertOne({Subject:[C++,Java,Python]}); क्वेरी db.demo723.aggregate([ { $project: { count:

  1. - MongoDB में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de