Để tìm kiếm văn bản với Regular Expression (Regex), sử dụng toán tử $regex. Tạo collection:
> db.demo519.insertOne({"Value":"50,60,70"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b9c0b3fbf26334ef6111") }
> db.demo519.insertOne({"Value":"80,90,50"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b9c7b3fbf26334ef6112") }
> db.demo519.insertOne({"Value":"10,30,40"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88b9cfb3fbf26334ef6113") }
Hiển thị dữ liệu:
> db.demo519.find();
Kết quả:
Tìm tài liệu có trường Value chứa "50" (dùng regex /50/):
> db.demo519.findOne({ Value: { $regex: /50/ } });Kết quả trả về tài liệu đầu tiên khớp (chứa "50"):
Các tùy chọn regex hữu ích:
$options: "i"- không phân biệt chữ hoa/thường$options: "m"- chế độ đa dòng$options: "s"- dấu chấm khớp xuống dòng
Ví dụ không phân biệt hoa/thường: { $regex: /50/, $options: "i" }. Cảnh báo: Regex không sử dụng index hiệu quả trên collection lớn - cân nhắc text index cho tìm kiếm full-text.