MongoDB में ऐरे के ऐरे (नेस्टेड ऐरे) को क्वेरी करने के लिए नेस्टेड $elemMatch के साथ $in ऑपरेटर का उपयोग करें।
उदाहरण से समझें
एक कलेक्शन बनाकर ऐरे-ऑफ-ऐरे वाला डॉक्यूमेंट इन्सर्ट करते हैं:
> db.arrayOfArraysDemo.insertOne({"EmployeeName": "Larry", "EmployeeSkills": [["Java", "MongoDB", "MySQL", "SQL Server"]]});
> db.arrayOfArraysDemo.insertOne({"EmployeeName": "Mike", "EmployeeSkills": [["C", "C++"]]});
सभी डॉक्यूमेंट देखने के लिए:
> db.arrayOfArraysDemo.find().pretty();
आउटपुट:
अब आंतरिक ऐरे में "MongoDB" वाले डॉक्यूमेंट खोजें:
> db.arrayOfArraysDemo.find({'EmployeeSkills': {$elemMatch: {$elemMatch: {$in: ['MongoDB']}}}}).pretty();आउटपुट:
बाहरी
$elemMatchबाहरी ऐरे के प्रत्येक एलिमेंट (जो स्वयं ऐरे है) पर लागू होता है, आंतरिक$elemMatchउस आंतरिक ऐरे के एलिमेंट पर$inचेक करता है।