หากต้องการเปรียบเทียบสองฟิลด์ ให้ใช้ $where ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.demo7.insertOne({"FirstName1":"JOHN","FirstName2":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5e0ccd1a25ddae1f53b6222f") } > db.demo7.insertOne({"FirstName1":"Carol","FirstName2":"Mike"}); { "acknowledged" : true, "insertedId" : ObjectId("5e0ccd2725ddae1f53b62230") } > db.demo7.insertOne({"FirstName1":"bob","FirstName2":"BOB"}); { "acknowledged" : true, "insertedId" : ObjectId("5e0ccd3225ddae1f53b62231") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.demo7.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" } { "_id" : ObjectId("5e0ccd2725ddae1f53b62230"), "FirstName1" : "Carol", "FirstName2" : "Mike" } { "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }
นี่คือแบบสอบถามเพื่อเปรียบเทียบสองฟิลด์ในขณะที่ดำเนินการกับหนึ่งในนั้น -
> db.demo7.find({$where: "this.FirstName1.toLowerCase() == this.FirstName2.toLowerCase()"});
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" } { "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }