MongoDB รองรับ Pattern Matching แบบ "LIKE" โดยใช้ Regular Expression (Regex) ไวยากรณ์:
db.yourCollectionName.find({"yourFieldName": /.*yourMatchingValue.*/}).pretty();
สร้างข้อมูลตัวอย่าง (คอลเล็กชัน employee)
> db.employee.insert({"EmployeeName":"John","EmployeeSalary":450000});
WriteResult({ "nInserted" : 1 })
> db.employee.insert({"EmployeeName":"Carol","EmployeeSalary":150000});
WriteResult({ "nInserted" : 1 })
> db.employee.insert({"EmployeeName":"James","EmployeeSalary":550000});
WriteResult({ "nInserted" : 1 })
> db.employee.insert({"EmployeeName":"Jace","EmployeeSalary":670000});
WriteResult({ "nInserted" : 1 })
> db.employee.insert({"EmployeeName":"Larry","EmployeeSalary":1000000});
WriteResult({ "nInserted" : 1 })
แสดงเอกสารทั้งหมด
> db.employee.find().pretty();
Query ชื่อที่มีตัวอักษร "J" (เหมือน LIKE '%J%')
> db.employee.find({"EmployeeName": /.*J.*/}).pretty();
ผลลัพธ์ (John, James, Jace)
{ "_id" : ObjectId("5c6c0b2e68174aae23f5ef59"), "EmployeeName" : "John", "EmployeeSalary" : 450000 }
{ "_id" : ObjectId("5c6c0b4768174aae23f5ef5b"), "EmployeeName" : "James", "EmployeeSalary" : 550000 }
{ "_id" : ObjectId("5c6c0b8f68174aae23f5ef5c"), "EmployeeName" : "Jace", "EmployeeSalary" : 670000 }
Regex /.*J.*/ หมายถึง: มีตัวอักษร "J" อยู่ที่ไหนก็ได้ในสตริง (Case-sensitive) หากต้องการ Case-insensitive ใช้ Flag i เช่น /.*J.*/i