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

MongoDB में ऐरे साइज 1 से अधिक वाले डॉक्यूमेंट्स के लिए क्वेरी कैसे करें?


आप ऐरे साइज 1 से अधिक वाले डॉक्यूमेंट्स के लिए क्वेरी करने के लिए length का उपयोग कर सकते हैं:

db.yourCollectionName.find({$where:"this.yourArrayDocumentName.length > 1"}).pretty();

उपरोक्त सिंटैक्स को समझने के लिए, आइए कुछ डॉक्यूमेंट्स के साथ एक कलेक्शन बनाएं। कलेक्शन बनाने के लिए डॉक्यूमेंट्स के साथ क्वेरी इस प्रकार है:

>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Larry","StudentTechnicalSubject":["Java","C","C++"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c4c0c3d5054b766a76a") }
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSubject":["MongoDB"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c660c3d5054b766a76b") }
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSubject":["MySQL","SQL Server","PL/SQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d6c800c3d5054b766a76c") }

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

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

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

{ "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"), "StudentName" : "Larry", "StudentTechnicalSubject" : [ "Java", "C", "C++" ] }
{ "_id" : ObjectId("5c6d6c660c3d5054b766a76b"), "StudentName" : "Maxwell", "StudentTechnicalSubject" : [ "MongoDB" ] }
{ "_id" : ObjectId("5c6d6c800c3d5054b766a76c"), "StudentName" : "Maxwell", "StudentTechnicalSubject" : [ "MySQL", "SQL Server", "PL/SQL" ] }

यहां ऐरे साइज 1 से अधिक वाले डॉक्यूमेंट्स के लिए क्वेरी है। नीचे दी गई क्वेरी उन सभी डॉक्यूमेंट्स को देगी जहां ऐरे साइज 1 से अधिक है:

> db.arrayLengthGreaterThanOne.find({$where:"this.StudentTechnicalSubject.length > 1"}).pretty();

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

{ "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"), "StudentName" : "Larry", "StudentTechnicalSubject" : [ "Java", "C", "C++" ] }
{ "_id" : ObjectId("5c6d6c800c3d5054b766a76c"), "StudentName" : "Maxwell", "StudentTechnicalSubject" : [ "MySQL", "SQL Server", "PL/SQL" ] }
  1. - MongoDB: ऐरे वैल्यूज के आधार पर दस्तावेजों को मैच करें जो विशिष्ट मान से अधिक हों

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेजों से मेल खाता है जिनमें एक ऐरे फील्ड होता है जिसमें कम से कम एक एलिमेंट होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo701.insertOne({ListOfValues:[100,200,300]}); { a

  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