इसके लिए आप $cmp ऑपरेटर का इस्तेमाल कर सकते हैं। अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाएं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -
> db.matchBetweenFieldsDemo.insertOne({"FirstValue":40,"SecondValue":70});{ "स्वीकृत":सच, "insertId" :ObjectId("5c92c9625259fcd19549980d")}> db.matchBetweenFieldsDemo.insertOne( {"FirstValue":20,"SecondValue":5});{ "acknowledge" :true, "insertId" :ObjectId("5c92c96b5259fcd19549980e")}
संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -
> db.matchBetweenFieldsDemo.find().pretty();
निम्न आउटपुट है -
{ "_id" :ObjectId("5c92c9625259fcd19549980d"), "FirstValue" :40, "SecondValue" :70}{ "_id" :ObjectId("5c92c96b5259fcd19549980e"), "FirstValue" :20,"SecondValue" :5 }पूर्व>एग्रीगेशन फ्रेमवर्क में फ़ील्ड्स के बीच $मैच करने के लिए क्वेरी यहाँ दी गई है -
> db.matchBetweenFieldsDemo.aggregate([ ... {$project:{ ... firstGreterThanOrNot:{$cmp:['$FirstValue', '$SecondValue']} ... }}, . .. {$मिलान:{firstGreterThanOrNot:{$gt:0}}}...]);निम्न आउटपुट है -
{ "_id" :ObjectId("5c92c96b5259fcd19549980e"), "firstGreterThanOrNot" :1 }