MongoDB ไม่มีคำสั่ง LIKE โดยตรงเหมือน SQL แต่สามารถใช้ Regular Expression (Regex) แทนได้ โดยใช้รูปแบบ /pattern/
ตัวอย่างข้อมูลทดสอบ
> db.demo26.insertOne({"StudentName":"Chris"});
> db.demo26.insertOne({"StudentName":"John"});
> db.demo26.insertOne({"StudentName":"Jones"});
> db.demo26.insertOne({"StudentName":"David"});
แสดงข้อมูลทั้งหมด
> db.demo26.find();
{
"_id" : ObjectId("5e14c9dc22d07d3b95082e79"),
"StudentName" : "Chris"
}
{
"_id" : ObjectId("5e14c9e022d07d3b95082e7a"),
"StudentName" : "John"
}
{
"_id" : ObjectId("5e14ca7222d07d3b95082e7b"),
"StudentName" : "Jones"
}
{
"_id" : ObjectId("5e14ca7622d07d3b95082e7c"),
"StudentName" : "David"
}
คิวรี่แบบ LIKE ด้วย Regex
ค้นหาชื่อที่มีตัวอักษร "Jo" อยู่ในชื่อ:
> db.demo26.find({"StudentName":/Jo/});
ผลลัพธ์
{
"_id" : ObjectId("5e14c9e022d07d3b95082e7a"),
"StudentName" : "John"
}
{
"_id" : ObjectId("5e14ca7222d07d3b95082e7b"),
"StudentName" : "Jones"
}
ตัวเลือก Regex เพิ่มเติม
/^Jo/- เริ่มต้นด้วย "Jo"/Jo$/- จบด้วย "Jo"/jo/i- ไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (case-insensitive)
สรุป: ใช้ Regular Expression แทน LIKE ใน MongoDB ซึ่งมีความยืดหยุ่นมากกว่า