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

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


सरणी के अंदर कई मानदंडों का मिलान करने के लिए aggregate() के साथ $elemMatch का उपयोग करें। आइए एक संग्रह बनाते हैं:

> db.demo84.insertOne({
...   "EmployeeDetails": [
...     {Name: 'John', Salary:45000, isMarried: true},
...     {Name: 'Chris', Salary:50000, isMarried: false}
...   ]
... });
{ "acknowledged" : true, "insertedId" : ObjectId("5e2c0a3471bf0181ecc422a5") }
> db.demo84.insertOne({
...   "EmployeeDetails": [
...     {Name: 'Sam', Salary:56000, isMarried: false},
...     {Name: 'Bob', Salary:50000, isMarried: false}
...   ]
... });
{ "acknowledged" : true, "insertedId" : ObjectId("5e2c0a4071bf0181ecc422a6") }

सभी दस्तावेज़ देखने के लिए:

> db.demo84.find();

आउटपुट:

{ "_id" : ObjectId("5e2c0a3471bf0181ecc422a5"), "EmployeeDetails" : [
  { "Name" : "John", "Salary" : 45000, "isMarried" : true },
  { "Name" : "Chris", "Salary" : 50000, "isMarried" : false }
]}
{ "_id" : ObjectId("5e2c0a4071bf0181ecc422a6"), "EmployeeDetails" : [
  { "Name" : "Sam", "Salary" : 56000, "isMarried" : false },
  { "Name" : "Bob", "Salary" : 50000, "isMarried" : false }
]}

उदाहरण

सरणी में उन दस्तावेज़ों को खोजें जहां Name "Chris" हो और isMarried false हो:

> db.demo84.aggregate(
...   {
...     "$match": {
...       "EmployeeDetails": {
...         "$elemMatch": {
...           "Name": "Chris",
...           "isMarried": false
...         }
...       }
...     }
...   }
... );

परिणाम:

{ "_id" : ObjectId("5e2c0a3471bf0181ecc422a5"), "EmployeeDetails" : [
  { "Name" : "John", "Salary" : 45000, "isMarried" : true },
  { "Name" : "Chris", "Salary" : 50000, "isMarried" : false }
]}

महत्वपूर्ण: $elemMatch सरणी के एक ही तत्व में कई शर्तों का मिलान करता है।

  1. - MongoDB एग्रीगेशन में अधिकतम मान के साथ सरणी तत्वों को कैसे मिलाएं और समूहित करें?

    इसके लिए, MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo510.insertOne( { details:[ { Name:Chris, Score:56 }, { Name:David, Score:45 } ] }); { acknowledged : tru

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn

  1. - MongoDB में सरणी फील्ड के साथ काम करके सभी से मिलान कैसे करें?

    MongoDB में सभी से मिलान करने के लिए $all का उपयोग करें। $all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां फील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए एक कलेक्शन बनाते हैं: > db.demo695.insertOne({ListOfValues:[100,200,500,800]}); { acknowledged : true, insertedId : ObjectId(5ea6d