MongoDB में $eq के बिना समानता जांच
समानता लिखने के लिए, आप केवल find() के साथ मिलान मान का उपयोग कर सकते हैं।
कलेक्शन बनाना
> db.demo145.insertOne({"ListOfNames":["Chris","David","Mike"]});
{ "acknowledged": true, "insertedId": ObjectId("5e32f37bfdf09dd6d08539bb") }
> db.demo145.insertOne({"ListOfNames":["Bob","John"]});
{ "acknowledged": true, "insertedId": ObjectId("5e32f384fdf09dd6d08539bc") }
सभी डॉक्यूमेंट्स
> db.demo145.find();
$eq के बिना क्वेरी (सीधा मान मिलान)
> db.demo145.find({"ListOfNames":"John"});परिणाम
व्याख्या
- {"ListOfNames": "John"}: ऐरे फील्ड पर सीधा मान मिलान
- MongoDB स्वचालित रूप से ऐरे में मान की उपस्थिति की जांच करता है
- यह
{ "ListOfNames": { $eq: "John" } }के बराबर है - $eq स्पष्ट रूप से लिखने की आवश्यकता नहीं है
कब $eq का उपयोग करें
- अभिव्यक्ति में अन्य ऑपरेटर्स के साथ संयोजन:
{ $eq: ["$field", "value"] }(एग्रीगेशन में) - स्पष्टता के लिए जब क्वेरी प्रोग्रामेटिक रूप से बनाई जाती है
- $eq एग्रीगेशन एक्सप्रेशन के रूप में (find क्वेरी ऑपरेटर नहीं)
ऐरे मिलान व्यवहार
ऐरे फील्ड पर सीधा मान मिलान: डॉक्यूमेंट तब मेल खाता है जब ऐरे में वह मान होता है (किसी भी स्थिति में)। यह $elemMatch के बिना सटीक ऐरे मिलान नहीं है।