आप प्रथम स्तर सरणी पर $elemMatch के बजाय $in ऑपरेटर का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है
db.yourCollectionName.find({yourFieldName:{$in:["yourValue"]}}).pretty();
आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं
>db.firstLevelArrayDemo.insertOne({"StudentName":"Chris","StudentTechnicalSkills":["Mongo DB","MySQL","SQL Server"]}); { "acknowledged" : true, "insertedId" : ObjectId("5ca2360f66324ffac2a7dc71") } >db.firstLevelArrayDemo.insertOne({"StudentName":"Robert","StudentTechnicalSkills":["C","J ava","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5ca2362766324ffac2a7dc72") }
खोज () विधि की सहायता से संग्रह से सभी दस्तावेज़ों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है
> db.firstLevelArrayDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा
{ "_id" : ObjectId("5ca2360f66324ffac2a7dc71"), "StudentName" : "Chris", "StudentTechnicalSkills" : [ "MongoDB", "MySQL", "SQL Server" ] } { "_id" : ObjectId("5ca2362766324ffac2a7dc72"), "StudentName" : "Robert", "StudentTechnicalSkills" : [ "C", "Java", "C++" ] }
प्रथम स्तर सरणी पर मिलान करने के लिए क्वेरी निम्नलिखित है
> db.firstLevelArrayDemo.find({StudentTechnicalSkills:{$in:["MongoDB"]}}).pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा
{ "_id" : ObjectId("5ca2360f66324ffac2a7dc71"), "StudentName" : "Chris", "StudentTechnicalSkills" : [ "MongoDB", "MySQL", "SQL Server" ] }