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

MongoDB क्वेरी वस्तुओं की सरणी के अंदर एक से अधिक मिलान खोजने के लिए?

<घंटा/>

इसके लिए $ और साथ में $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") , "विवरण" :[ { "नाम" :"क्रिस", "देश का नाम" :"हमें" } ] }

  1. सरणी से कई मान खींचने के लिए MongoDB क्वेरी

    मान खींचने के लिए, $pull का उपयोग करें और multi:true . सेट करें . आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo392.insertOne( ...    { ...       Name: 'Chris', ...       details: [ ...          { ...     &

  1. MongoDB डेटाबेस में वस्तुओं की एक सरणी पर _id द्वारा खोजें?

    वस्तुओं की एक सरणी पर _id द्वारा खोजने के लिए, एकत्रीकरण का उपयोग करें और खोज () का उपयोग करने से बचें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo414.insertOne( ...    { ...       "_id": "110", ...       "details":[

  1. MongoDB में उप-दस्तावेज़ों की क्वेरी सरणी

    उप-दस्तावेज़ों की एक सरणी को क्वेरी करने के लिए, MongoDB में $unwind का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo499.insertOne({ ... "details": ...    [ ...       { ...          Name :"MIT", ...