এই কাজের জন্য $cmp অপারেটর ব্যবহার করতে পারেন। কonception বুঝতে ডকুমেন্টসহ একটি কলেকশন তৈরি করি। ডকুমেন্টসহ কলেকশন তৈরির কোয়েরি নিম্নরূপ:
> db.matchBetweenFieldsDemo.insertOne({"FirstValue":40,"SecondValue":70}); { "acknowledged" : true, "insertedId" : ObjectId("5c92c9625259fcd19549980d") } > db.matchBetweenFieldsDemo.insertOne({"FirstValue":20,"SecondValue":5}); { "acknowledged" : true, "insertedId" : ObjectId("5c92c96b5259fcd19549980e") }find() মেথড ব্যবহার করে কলেকশন থেকে সব ডকুমেন্ট প্রদর্শন করি। কোয়েরিটি নিম্নরূপ:
> db.matchBetweenFieldsDemo.find().pretty();
আউটপুট নিম্নরূপ:
{ "_id" : ObjectId("5c92c9625259fcd19549980d"), "FirstValue" : 40, "SecondValue" : 70 } { "_id" : ObjectId("5c92c96b5259fcd19549980e"), "FirstValue" : 20, "SecondValue" : 5 }অ্যাগ্রিগেশন ফ্রেমওয়ার্কে $match ব্যবহার করে দুটি ফিল্ডের মধ্যে মিল খুঁজে বের করার কোয়েরি নিম্নরূপ:
> db.matchBetweenFieldsDemo.aggregate([ ... {$project: { ... ... ... firstGreaterThanOrNot: {$cmp: ['$FirstValue', '$SecondValue']} ... ... }}, ... {$match: {firstGreaterThanOrNot:{$gt: 0}}} ... ]);আউটপুট নিম্নরূপ:
{ "_id" : ObjectId("5c92c96b5259fcd19549980e"), "firstGreaterThanOrNot" : 1 }