$all ऑपरेटर का उपयोग
उन दस्तावेज़ों को ढूंढने के लिए जहां एक सरणी फील्ड में **निर्दिष्ट सभी मान** मौजूद हैं (किसी भी क्रम में), $all ऑपरेटर का उपयोग करें। यह सरणी के सबसेट मिलान के बराबर है।
उदाहरण: डेटा डालना
>> db.subsetOfAnArrayDemo.insertOne({"StudentProgrammingSkills": ["Java","MongoDB","MySQL","C++","Data Structure","Algorithm","Python","Oracle","SQL Server"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb9d1e1895c4fd159f80804") }
दस्तावेज़ देखना
> db.subsetOfAnArrayDemo.find().pretty();
आउटपुट:
सबसेट क्वेरी: MongoDB और MySQL दोनों कौशल वाले दस्तावेज़
> db.subsetOfAnArrayDemo.find({ StudentProgrammingSkills: { $all: [ 'MongoDB', 'MySQL' ] } }).pretty();आउटपुट (दस्तावेज़ मिलता है क्योंकि दोनों मान सरणी में हैं):
महत्वपूर्ण:
$allसरणी में **सभी** निर्दिष्ट मानों की उपस्थिति की जांच करता है। यह$in(जो किसी भी मान से मेल खाता है) से भिन्न है।$allके साथ$elemMatchका उपयोग नेस्टेड ऑब्जेक्ट सरणी के लिए किया जाता है, लेकिन सरल मान सरणी के लिए केवल$allपर्याप्त है।