【问题标题】:Associative search in rails with mongodb使用 mongodb 在 Rails 中进行关联搜索
【发布时间】:2015-04-27 19:56:39
【问题描述】:

我想使用后端 mongoDb 以 rails 形式执行搜索,并且在我的模型中名为员工数据的名字中,我需要在另一个表中搜索薪水,并且我将与员工数据的关系指定为“属于薪水” .我尝试了很多,弄清楚如何给予关联。

def self.search(search)

  any_of({firstname: /#{search}/i })

end

【问题讨论】:

    标签: ruby-on-rails associations ruby-on-rails-4.2


    【解决方案1】:

    mongodb 中没有连接,尝试做这样的事情......

    def self.search(search)
      salaries = Salary.any_of(field: /#{search}/i)
      any_of({firstname: /#{search}/i, salary_id: salaries.collect(&:id) })
    end
    

    但我宁愿建议使用 Mongoid 搜索模块。安装 gem 并将这一行添加到您的模型中

    include Mongoid::Search
    

    更多详情,https://github.com/mauriciozaffari/mongoid_search

    【讨论】:

    • 感谢您的宝贵时间,但这对我不起作用,我想要的只是薪水表中的薪水金额,而不是名字。
    • 所以所有想要的只是根据他的名字搜索用户并根据搜索记录获取工资金额?
    • salary_id 存储在员工表中
    • emploee.search('xyz').collect{|e| {first_name:e.first_name,salary_amount:e.salary.amount} }
    • 它将返回包含员工工资金额和名字的哈希数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多