MongoDB में नेस्टेड सरणी पर $gt क्वेरी
एम्बेडेड दस्तावेज़ों की सरणी के अंदर संख्यात्मक तुलना (जैसे "से बड़ा") करने के लिए डॉट नोटेशन के साथ $gt ऑपरेटर का उपयोग करें।
नमूना डेटा: नेस्टेड सरणी
> db.demo317.insertOne({
'id': 101,
'details': [{'Score': 78, Name: "Chris"}, {'Score': 88, Name: "David"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e50e69cf8647eb59e562060") }
> db.demo317.insertOne({
'id': 102,
'details': [{'Score': 90, Name: "Chris"}, {'Score': 91, Name: "David"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e50e6adf8647eb59e562061") }
क्वेरी: Score 89 से बड़ा वाले डॉक्यूमेंट्स
डॉट नोटेशन details.Score सरणी के अंदर प्रत्येक एम्बेडेड दस्तावेज़ के Score फ़ील्ड तक पहुंचता है।
> db.demo317.find({"details.Score": {$gt: 89}});
परिणाम
{ "_id": ObjectId("5e50e6adf8647eb59e562061"), "id": 102, "details": [ { "Score": 90, "Name": "Chris" }, { "Score": 91, "Name": "David" } ] }
केवल दूसरा डॉक्यूमेंट वापस किया गया क्योंकि इसकी सरणी में कम से कम एक तत्व का Score 89 से बड़ा है (वास्तव में दोनों हैं)। पहला डॉक्यूमेंट (78, 88) बाहर हो गया क्योंकि इसका कोई भी Score 89 से बड़ा नहीं है। महत्वपूर्ण: यह क्वेरी डॉक्यूमेंट लौटाती है यदि सरणी का कोई भी तत्व शर्त पूरी करता है।