หากต้องการสอบถามเงื่อนไขในการเปรียบเทียบ 2 ฟิลด์ ให้ใช้ไวยากรณ์ต่อไปนี้ -
db.yourCollectionName.find( { $where: function() { return this.yourFirstFieldName < this.yourSecondFieldName } } ).pretty();
เพื่อให้เข้าใจไวยากรณ์ ให้เราสร้างคอลเลกชันด้วยเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> db.comparingTwoFieldsDemo.insertOne({"StudentName":"John","StudentAge":21,"StudentMathMarks":99,"StudentPhysicsMarks":98}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ac09e6cea1f28b7aa0807") } > db.comparingTwoFieldsDemo.insertOne({"StudentName":"Carol","StudentAge":22,"StudentMathMarks":79,"StudentPhysicsMarks":89}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ac0b46cea1f28b7aa0808") } > db.comparingTwoFieldsDemo.insertOne({"StudentName":"David","StudentAge":24,"StudentMathMarks":39,"StudentPhysicsMarks":45}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ac0c96cea1f28b7aa0809") } > db.comparingTwoFieldsDemo.insertOne({"StudentName":"Bob","StudentAge":23,"StudentMathMarks":87,"StudentPhysicsMarks":78}); { "acknowledged" : true, "insertedId" : ObjectId("5c8ac0e06cea1f28b7aa080a") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้:
> db.comparingTwoFieldsDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : ObjectId("5c8ac09e6cea1f28b7aa0807"), "StudentName" : "John", "StudentAge" : 21, "StudentMathMarks" : 99, "StudentPhysicsMarks" : 98 } { "_id" : ObjectId("5c8ac0b46cea1f28b7aa0808"), "StudentName" : "Carol", "StudentAge" : 22, "StudentMathMarks" : 79, "StudentPhysicsMarks" : 89 } { "_id" : ObjectId("5c8ac0c96cea1f28b7aa0809"), "StudentName" : "David", "StudentAge" : 24, "StudentMathMarks" : 39, "StudentPhysicsMarks" : 45 } { "_id" : ObjectId("5c8ac0e06cea1f28b7aa080a"), "StudentName" : "Bob", "StudentAge" : 23, "StudentMathMarks" : 87, "StudentPhysicsMarks" : 78 }
นี่คือการสอบถามเงื่อนไขในการเปรียบเทียบ 2 ฟิลด์ -
> db.comparingTwoFieldsDemo.find( { $where: function() { return this.StudentMathMarks < this.StudentPhysicsMarks } } ).pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : ObjectId("5c8ac0b46cea1f28b7aa0808"), "StudentName" : "Carol", "StudentAge" : 22, "StudentMathMarks" : 79, "StudentPhysicsMarks" : 89 } { "_id" : ObjectId("5c8ac0c96cea1f28b7aa0809"), "StudentName" : "David", "StudentAge" : 24, "StudentMathMarks" : 39, "StudentPhysicsMarks" : 45 }