Bạn có thể làm với regex không chứa từ. 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.
Không chứa string
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Không phân biệt chữ hoa chữ thường chính xác 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'}})
Chứa đựng string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
Giữ cái này làm dấu trang và tham chiếu cho bất kỳ thay đổi nào khác mà bạn có thể cần.
http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
$not
,$regex
toán tử và kết hợp dường như hoạt động đối với tôi.