ОБНОВЛЕНИЕ : Начиная с MongoDB 2.4, для этого использовался бы «текстовый» индекс и запрос полнотекстового поиска.Вы можете прочитать о них здесь .Если использовать недавнюю MongoDB, подход ниже будет глупым и ненужным.
Однако, если у вас MongoDB <2.4.0, вы можете использовать регулярное выражение, например: </p>
> db.reg.insert({searchword: "win"})
> db.reg.insert({searchword: "window"})
> db.reg.insert({searchword: "Win"})
> db.reg.find()
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e36dd68c9021e453d13"), "searchword" : "window" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
> db.reg.find({ searchword: /^win$/i })
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
Однако,ваша версия не работает, потому что вам не нужны символы "/" при использовании оператора $ regex:
> db.reg.find({ searchword: { $regex: "^win$", $options: '-i' }})
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
Обратите внимание, что запросы без учета регистра не используют индекс, поэтому может иметь смыслсоздайте поле поиска в нижнем регистре, чтобы вы могли ускорить этот запрос.
Перейдите здесь для получения дополнительной информации о RegularExpressions