หากต้องการใช้การเปรียบเทียบสตริงใน MongoDB ให้ใช้ $strcasecmp จะทำการเปรียบเทียบสองสตริงโดยไม่พิจารณาตัวพิมพ์เล็กและใหญ่ มันกลับมา -
-
1 ถ้าสตริงแรก "มากกว่า" สตริงที่สอง
-
0 ถ้าสองสตริงเท่ากัน
-
-1 ถ้าสตริงแรกมีค่าน้อยกว่าสตริงที่สอง
ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo490.insertOne({"Name1":"John","Name2":"john"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8496ccb0f3fa88e22790bb")
}
> db.demo490.insertOne({"Name1":"David","Name2":"Bob"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8496d9b0f3fa88e22790bc")
}
> db.demo490.insertOne({"Name1":"Carol","Name2":"Carol"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8496e5b0f3fa88e22790bd")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo490.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e8496ccb0f3fa88e22790bb"), "Name1" : "John", "Name2" : "john" }
{ "_id" : ObjectId("5e8496d9b0f3fa88e22790bc"), "Name1" : "David", "Name2" : "Bob" }
{ "_id" : ObjectId("5e8496e5b0f3fa88e22790bd"), "Name1" : "Carol", "Name2" : "Carol" } ต่อไปนี้เป็นแบบสอบถามเพื่อใช้การเปรียบเทียบสตริงใน MongoDB -
> db.demo490.aggregate(
... [
... {
... $project:
... {
... Name1: 1,
... Name2: 1,
... Result: { $strcasecmp: [ "$Name1", "$Name2" ] }
... }
... }
... ]
... ) ซึ่งจะส่งผลให้ผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e8496ccb0f3fa88e22790bb"), "Name1" : "John", "Name2" : "john", "Result"
: 0 }
{ "_id" : ObjectId("5e8496d9b0f3fa88e22790bc"), "Name1" : "David", "Name2" : "Bob",
"Result" : 1 }
{ "_id" : ObjectId("5e8496e5b0f3fa88e22790bd"), "Name1" : "Carol", "Name2" : "Carol",
"Result" : 0 }