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

MongoDB के साथ एक सरणी के अंदर कई मानदंडों का मिलान करें?

<घंटा/>

इसके लिए $elemMatch ऑपरेटर के साथ एग्रीगेट फ्रेमवर्क का इस्तेमाल करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.matchMultipleCriteriaDemo.insertOne({
   "EmployeeDetails": [
      {"EmployeeName": "Chris", "Salary": 45000, "Language":"Java"},
      {"EmployeeName": "Robert", "Salary": 41000, "Language":"Python"}
   ]
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cea3bf0ef71edecf6a1f689")
}
> db.matchMultipleCriteriaDemo.insertOne({
   "EmployeeDetails": [
      {"EmployeeName": "David", "Salary": 55000, "Language":"C++"},
      {"EmployeeName": "Bob", "Salary": 61000, "Language":"C"}
   ]
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cea3bf1ef71edecf6a1f68a")
}

खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -

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

यह निम्नलिखित आउटपुट देगा -

{
   "_id" : ObjectId("5cea3bf0ef71edecf6a1f689"),
   "EmployeeDetails" : [
      {
         "EmployeeName" : "Chris",
         "Salary" : 45000,
         "Language" : "Java"
      },
      {
         "EmployeeName" : "Robert",
         "Salary" : 41000,
         "Language" : "Python"
      }
   ]
}
{
   "_id" : ObjectId("5cea3bf1ef71edecf6a1f68a"),
   "EmployeeDetails" : [
      {
         "EmployeeName" : "David",
         "Salary" : 55000,
         "Language" : "C++"
      },
      {
         "EmployeeName" : "Bob",
         "Salary" : 61000,
         "Language" : "C"
      }
   ]
}

एक सरणी के अंदर कई मानदंडों से मेल खाने के लिए क्वेरी निम्नलिखित है -

> db.matchMultipleCriteriaDemo.aggregate({ "$match": { "EmployeeDetails": { "$elemMatch": { "EmployeeName": "Bob", "Language":"C" } } }} ).pretty();

यह निम्नलिखित आउटपुट देगा -

{
   "_id" : ObjectId("5cea3bf1ef71edecf6a1f68a"),
   "EmployeeDetails" : [
      {
         "EmployeeName" : "David",
         "Salary" : 55000,
         "Language" : "C++"
      },
      {
         "EmployeeName" : "Bob",
         "Salary" : 61000,
         "Language" : "C"
      }
   ]
}

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

    इसके लिए $ और साथ में $regex का उपयोग करें। $and एक या अधिक अभिव्यक्तियों की एक सरणी पर एक तार्किक और संचालन करता है और उन दस्तावेज़ों का चयन करता है जो सरणी में सभी अभिव्यक्तियों को संतुष्ट करते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo525.insertOne({details:[{Name:Mike,,CountryName:UK

  1. MongoDB में सरणी मिलान लागू करें?

    सरणी मिलान के लिए $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों का चयन करता है जहाँ किसी फ़ील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo668.createIndex({"ListOfSubject":1}); {    "createdCollectionAutomatical

  1. मैं सभी से मेल खाने के लिए मोंगोडीबी में सरणी फ़ील्ड के साथ कैसे काम करूं?

    MongoDB में सभी का मिलान करने के लिए, $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों का चयन करता है जहाँ किसी फ़ील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo695.insertOne({"ListOfValues":[100,200,500,800]}); {    &