इसके लिए $ और साथ में $regex का उपयोग करें। $and एक या अधिक अभिव्यक्तियों की एक सरणी पर एक तार्किक और संचालन करता है और उन दस्तावेज़ों का चयन करता है जो सरणी में सभी अभिव्यक्तियों को संतुष्ट करते हैं।
आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo525.insertOne({"details":[{Name:"Chris",,"CountryName":"US"}]});{ "acknowledgeed" :true, "insertId" :ObjectId("5e8ae5ef437efc86059595b66 ")}> db.demo525.insertOne({"विवरण":[{नाम:"बॉब",,"देश का नाम":"यूके"}]});{ "स्वीकृत" :सच, "insertId" :ObjectId("5e8ae5f8437efc86059595b67 ")}> db.demo525.insertOne({"details":[{Name:"chris",,"CountryName":"us"}]});{ "acknowledgeed" :true, "insertId" :ObjectId("5e8ae602437efc86059595b68 ")}> db.demo525.insertOne({"details":[{Name:"Mike",,"CountryName":"UK"}]});{ "acknowledgeed" :true, "insertId" :ObjectId("5e8ae60b437efc86059595b69 ")}
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo525.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e8ae5ef437efc8605595b66"), "विवरण" :[ { "नाम" :"क्रिस", "कंट्रीनाम" :"US" } ] }{ "_id" :ObjectId("5e8ae5f8437efc86059595b67") , "विवरण" :[ { "नाम" :"बॉब", "देश का नाम":"यूके" } ] }{ "_id" :ObjectId ("5e8ae602437efc8605595b68"), "विवरण" :[ { "नाम" :"क्रिस" ,"देश का नाम" :"हमें" } ] }{ "_id" :ObjectId("5e8ae60b437efc8605595b69"), "विवरण" :[ { "नाम" :"माइक", "देश का नाम" :"यूके" } ] }पूर्व>वस्तुओं की एक सरणी के अंदर कई मिलान खोजने के लिए क्वेरी निम्नलिखित है -
> db.demo525.find(... {"$और":[... {"विवरण":{"$elemMatch" :{ "Name":{$regex:new RegExp('^' + 'क्रिस', 'i')}}}},... { "विवरण" :{ "$elemMatch" :{ "कंट्रीनाम":{$regex:new RegExp('^' + 'us', 'i' )}}}}... ]}... )यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e8ae5ef437efc8605595b66"), "details" :[{"Name" :"Chris", "CountryName" :"US" } ] }{ "_id" :ObjectId("5e8ae602437efc86059595b68") , "विवरण" :[ { "नाम" :"क्रिस", "देश का नाम" :"हमें" } ] }