Lọc dữ liệu bằng biểu thức chính quy ($regex)
MongoDB hỗ trợ tìm kiếm mẫu chuỗi qua toán tử $regex. Bạn có thể kết hợp với option $options: 'i' để tìm kiếm không phân biệt chữ hoa/thường.
Chuẩn bị dữ liệu
> db.demo19.insertOne({"Values": "4321GH"});
> db.demo19.insertOne({"Values": "12321_Carol"});
> db.demo19.insertOne({"Values": "8765Mike"});
Xem toàn bộ document:
> db.demo19.find();
{ "_id": ..., "Values": "4321GH" }
{ "_id": ..., "Values": "12321_Carol" }
{ "_id": ..., "Values": "8765Mike" }
Tìm kiếm với $regex
Tìm các document có trường Values chứa "4321" HOẶC "8765":
> db.demo19.find({
Values: {
$regex: /4321|8765/,
$options: 'i'
}
});
Kết quả
{ "_id": ..., "Values": "4321GH" }
{ "_id": ..., "Values": "8765Mike" }
Giải thích: Mẫu /4321|8765/ sử dụng ký tự pipe | để biểu diễn logic OR. Option 'i' làm cho tìm kiếm không phân biệt chữ hoa/thường.