Mongomapper范围连接

时间:2017-06-13 20:17:33

标签: ruby-on-rails mongodb mongomapper

我在使用mongomapper范围连接时遇到了奇怪的行为。

下面是一个例子。

我有两个范围:

 scope :active, where(
    :name =>
    {
      :$in =>
      Model2.active.distinct(:city)
    }
  )
  scope :by_htype_id, lambda{|htype_id|
      where(
        :name =>
        {
          :$in =>

            Model2.by_htype_id(htype_id).distinct(:city)

        }
      )
  }

如果我跑

Model1.by_htype_id("some_id")按预期工作

但如果我连接两个范围Model1.active.by_htype_id("some_id"),我会从活动范围获取所有结果,而我希望获得依赖于by_htype_id的活动范围的子集

修改 如果我将范围的串联编写为单个查询,它将按预期工作。我希望串联能够导致两个范围的结合。正如我所说的那样,我只是连接一些范围,而不是每个范围。

0 个答案:

没有答案