【问题标题】:"LIKE" command in MongoDB(mongomapper)MongoDB(mongomapper)中的“LIKE”命令
【发布时间】:2011-07-24 12:24:46
【问题描述】:

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

【问题讨论】:

    标签: mongodb mongomapper


    【解决方案1】:

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

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

    值得注意的是 Mongodb 文档:

    “对于像 /^prefix/ 这样的简单前缀查询(也称为根正则表达式),数据库将在可用且适当时使用索引(很像大多数使用索引来表示 LIKE 'prefix%' 表达式的 SQL 数据库)。这只有在标志中没有 i(不区分大小写)时才有效。”

    【讨论】:

      【解决方案2】:

      最接近 SQL LIKE 的是 /query/

      例如:-

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

      编辑:这仍然区分大小写

      【讨论】:

        【解决方案3】:

        试试这些对我有用:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-22
          • 2012-08-25
          • 1970-01-01
          • 2012-03-14
          相关资源
          最近更新 更多