2011-07-24 7 views

Répondre

4

Si vous recherchez des correspondances partielles sur une chaîne, vous pouvez effectuer une requête avec une expression régulière. Voici la partie pertinente des mongomapper docs:

http://api.mongodb.org/ruby/current/file.TUTORIAL.html#Querying_with_Regular_Expressions

A noter ce des MongoDB docs:

« Pour les requêtes simples préfixe (aussi appelées regExps enracinées) comme/^/préfixe, la base de données utiliser un index quand il est disponible et approprié (comme la plupart des bases de données SQL qui utilisent des index pour une expression LIKE 'préfixe%') Cela ne fonctionne que si vous n'avez pas i (insensibilité à la casse) dans les drapeaux. "

3

la chose la plus proche de SQL LIKE serait/requête/

ex: -

Person.where('name' => /John/).all => John F, John Doe, Johnny...etc 

Edit: Ceci est l'affaire encore sensible

-1

essayer ces ça marche pour moi:

@ store_array = Utilisateur.where (: $ or => [{: first_name => /. # {@ search_text} ./i}, {: last_name => /. # {@ search_ texte} ./i}]). all();

Questions connexes