Đã có nhiều câu trả lời. Tôi đang đưa ra các loại yêu cầu và giải pháp khác nhau cho tìm kiếm chuỗi với regex.
Bạn có thể làm với regex có chứa từ tức là thích. Ngoài ra, bạn có thể sử dụng $options => i
cho trường hợp tìm kiếm không nhạy cảm
Chứa đựng string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
Không string
chỉ chứa với regex
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Trường hợp chính xác không nhạy cảm string
db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}})
Bắt đầu với string
db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}})
Kết thúc với string
db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}})
Giữ nó như một dấu trang và một tài liệu tham khảo cho bất kỳ thay đổi nào khác mà bạn có thể cần.