MongoDB中的“LIKE”命令(mongomapper)

时间:2011-07-24 12:24:47

标签: mongodb mongomapper

如何使用过滤器数据作为sql在MongoDB中“LIKE”,而不是在我的rails应用程序上使用gem mongomapper? .thanks

3 个答案:

答案 0 :(得分:4)

如果您正在查找字符串上的部分匹配项,则可以使用正则表达式进行查询。这是mongomapper文档的相关部分:

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

值得注意的是Mongodb docs:

“对于简单的前缀查询(也称为root的regexps),如/ ^ prefix /,数据库将在可用且适当时使用索引(非常类似于使用LIKE'前缀%'表达式的索引的大多数SQL数据库)。只有在标志中没有i(不区分大小写)时才有效。“

答案 1 :(得分:3)

最接近SQL LIKE的是/ query /

例如: -

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

编辑:这仍然是区分大小写的

答案 2 :(得分:-1)

尝试这些对我有用:

@ store_array = User.where(:$或=> [{:first_name => /.#{@search_text}./i},{:last_name => /。 #{@ SEARCH_TEXT} ./ I}])中的所有();