Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Sử dụng Regex với tìm kiếm văn bản trong MongoDB

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.