आप MongoDB में दो क्षेत्रों की तुलना करने के लिए $ जहां ऑपरेटर के साथ-साथ खोज () विधि का उपयोग कर सकते हैं। थिसिंटेक्स इस प्रकार है:
db.yourCollectionName.find({$where:"yourCondition"}).pretty();
उपरोक्त सिंटैक्स को समझने के लिए, आइए कुछ दस्तावेज़ों के साथ एक संग्रह बनाएँ। दस्तावेज़ों के साथ संग्रह बनाने की क्वेरी इस प्रकार है:
>db.compareTwoFields.insert({"Id":1,,"FullName":{"FirstName":"John",,"LastName":"Smith"},"BranchName":"ComputerScience"});RiteResult ({ "nInserted" :1 })>db.compareTwoFields.insert({"Id":2,"FullName":{"FirstName":"Smith","LastName":"Smith"},"BranchName":" सिविल"});WriteResult({"nInserted" :1})>db.compareTwoFields.insert({"Id":3,"FullName":{"FirstName":"David","LastName":"Smith"} , "शाखानाम":"यांत्रिक"});WriteResult({ "nInserted" :1 })
अब आप किसी संग्रह से सभी दस्तावेज़ ढूँढ़ने () विधि की सहायता से प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:
> db.compareTwoFields.find().pretty();
निम्न आउटपुट है:
{ "_id" :ObjectId("5c6c237568174aae23f5ef64"), "Id" :1, "FullName" :{ "FirstName" :"John", "LastName" :"Smith" }, "BranchName" :"ComputerScience" }{ "_id" :ObjectId("5c6c239868174aae23f5ef65"), "Id" :2, "FullName" :{ "FirstName" :"Smith", "LastName" :"Smith" }, "BranchName" :"Civil"}{ "_id" :ObjectId("5c6c23b468174aae23f5ef66"), "Id" :3, "FullName" :{ "FirstName" :"David", "LastName" :"Smith" }, "BranchName" :"Mechanical"}
MongoDB में दो क्षेत्रों की तुलना करने के लिए निम्नलिखित क्वेरी है:
>db.compareTwoFields.find({$where:"this.FullName.FirstName==this.FullName.LastName"}).pretty();
निम्न आउटपुट है:
{ "_id" :ObjectId("5c6c239868174aae23f5ef65"), "Id" :2, "FullName" :{ "FirstName" :"Smith", "LastName" :"Smith" }, "BranchName" :"Civil" }पूर्व>