Кажется, что есть причины использовать как шаблон javascript /regex_pattern/
, так и шаблон mongo {'$regex': 'regex_pattern'}
. См. Также: Ограничения синтаксиса RegGrange MongoBD
Это не полный учебник RegEx, но я был вдохновлен на запуск этих тестов после просмотра сильно проголосовавшего неоднозначного сообщения выше .
> ['abbbb','bbabb','bbbba'].forEach(function(v){db.test_collection.insert({val: v})})
> db.test_collection.find({val: /a/})
{ "val" : "abbbb" }
{ "val" : "bbabb" }
{ "val" : "bbbba" }
> db.test_collection.find({val: /.*a.*/})
{ "val" : "abbbb" }
{ "val" : "bbabb" }
{ "val" : "bbbba" }
> db.test_collection.find({val: /.+a.+/})
{ "val" : "bbabb" }
> db.test_collection.find({val: /^a/})
{ "val" : "abbbb" }
> db.test_collection.find({val: /a$/})
{ "val" : "bbbba" }
> db.test_collection.find({val: {'$regex': 'a$'}})
{ "val" : "bbbba" }