1

我需要使用INTEGER COLUMN进行类似查询的 mongoid 搜索。例如:

SELECT * FROM users WHERE mobile LIKE '%9980%';

这是我的模型:

class User
  include Mongoid::Document
  include Mongoid::Timestamps

  ##
  # Columns
  field :name,                      type: String
  field :mobile,                    type: Integer
end

我已经尝试过以下示例。但没有运气:(

User.where(:$where => "/^#{params[:mobile]}/")
User.any_of({mobile: /.*#{params[:mobile]}.*/i})
User.where(mobile: /8801/))

用mongoid怎么写?

4

3 回答 3

4

尝试这个

User.where(mobile: /.*#{params[:mobile]}.*/i)
于 2014-09-09T08:59:52.227 回答
1

解决方案:

users = User.where(:$where => "/^#{params[:mobile]}/.test(this.mobile)")
于 2014-09-09T09:22:59.857 回答
0

User.where(:mobile => /\d*{params[:mobile]}\d*/)

Mongoid中的like函数只是to的where争论regexp

于 2014-09-09T08:33:36.817 回答