Để triển khai tính năng kiểu "like" trong MongoDB, hãy sử dụng biểu thức chính quy /.../ với chữ cái cần tìm ở giữa. Ví dụ: /J/ tìm chữ J bất kỳ vị trí nào.
Tạo collection:
> db.demo554.insertOne({"UserName":"John","UserMailId":"John@gmail.com"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f1cfed1d72c4545cb8679") }
> db.demo554.insertOne({"UserName":"Chris","UserMailId":"Chris@gmail.com"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f1d0cd1d72c4545cb867a") }
> db.demo554.insertOne({"UserName":"Jace","UserMailId":"Jace@gmail.com"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8f1d1cd1d72c4545cb867b") }
Hiển thị tất cả:
> db.demo554.find();
Kết quả:
{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" }
{ "_id" : ObjectId("5e8f1d0cd1d72c4545cb867a"), "UserName" : "Chris", "UserMailId" : "Chris@gmail.com" }
{ "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }
Truy vấn tìm UserName HOẶC UserMailId chứa chữ "J" (không phân biệt hoa/thường với flag i):
> db.demo554.find({
... "$or": [
... { "UserName": /J/i },
... { "UserMailId": /J/i }
... ]
... });
Kết quả (John và Jace):
{ "_id" : ObjectId("5e8f1cfed1d72c4545cb8679"), "UserName" : "John", "UserMailId" : "John@gmail.com" }
{ "_id" : ObjectId("5e8f1d1cd1d72c4545cb867b"), "UserName" : "Jace", "UserMailId" : "Jace@gmail.com" }