MongoDB Regular Expression: содержит электронное письмо внутри строки - PullRequest
0 голосов
/ 06 мая 2011

Учитывая, что у меня есть строка, такая как

"Donald Trump <donald@trump.com>" 
"Art Job <art@job.com>"

Как найти каждую строку, содержащую "donald@trump.com", используя MongoDB в Rails?

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Из документации :

search_string = params['search']

# Constructor syntax coll.find({"name" => Regexp.new(search_string)})

# Literal syntax coll.find({"name" => /#{search_string}/})

Осторожно, хотя ... Вы не можете использовать индекс с этим запросом, поскольку ваше регулярное выражение не привязано к началу строки.

0 голосов
/ 06 мая 2011

Вы можете выполнять такой поиск только с помощью регулярных выражений:

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

В вашем случае вы не сможете выполнять эффективный поиск, если не денормализуете свои данные ихраните свои адреса электронной почты в выделенном атрибуте документа.

Не имею понятия о Ruby, но каждый драйвер должен иметь поддержку регулярных выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...