ruby-on-rails - 如何修剪 MongoDB 查询中字段的空格

标签 ruby-on-rails mongodb mongoid

我想重建自动完成功能以在 MongoDB 上工作。

我在 PostgreSQL 中展示了一个例子

@parts = Part.where("replace(parts.code,' ','') ilike '%?%'",
                     params[:q].gsub(' ','')
                   )
             .limit(10)

如何通过 MongoID 运行它。我必须清除空格,因为用户通过不同的方式发送它(例如,Bosch 的号码为 0 986 039 260,因此 0986039260 应该返回相同的部分)

请提示如何操作。

最佳答案

这是我为你准备的答案:

result = params[:q].gsub(' ','')
Part.where("this.code.replace(/\s+/,'') == #{result}")
    .limit(10)

灵感来自 this link .

关于ruby-on-rails - 如何修剪 MongoDB 查询中字段的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29205850/

相关文章:

ruby-on-rails - ActionController::RoutingError: 未初始化的常量 MicropostsController

node.js - 如何在nodejs中使用mongodb直接从mongo slave读取

mongodb - MongoDB 中的子结构与扁平数据结构 - NoSQL

java - org.bson.codecs.configuration.CodecConfigurationException : Can't find a codec for class org. hibernate.ogm.datastore.mongodb.type.GridFS

ruby-on-rails - 使用对象参数和额外的 id 模拟 POST 请求

ruby-on-rails - 从 RSpec 2.11 升级到 2.12

ruby-on-rails - Rails 中只有一个模型实例

ruby-on-rails - 批量查找 mongoDB 记录(使用 mongoid ruby​​ 适配器)

ruby-on-rails - 为什么我不能在 RSpec 功能测试中提高 Mongoid::Errors::DocumentNotFound?

ruby-on-rails - MongoDB 对 HABTM 关系(Mongoid、RoR)进行条件聚合查询?