1

我需要实现以下目标:

queryable.any_of(
      between(:average_nightly_min_price,  [10,100]),
      between(:average_nightly_max_price,  [110,1100])
  )

是否可以使用 和 的any_of组合between。还是有其他选择?

4

2 回答 2

1
queryable.any_of(
  queryable.between(:average_nightly_min_price,  [10,100]).selector,
  queryable.between(:average_nightly_max_price,  [110,1100]).selector
)

如果嵌入了可查询对象,则它不起作用。

对于 2.0 之前的 ruby​​ 版本:

queryable.any_of(
      queryable.between(average_nightly_min_price => [10,100]).selector,
      queryable.between(average_nightly_max_price => [110,1100]).selector
    )
于 2014-03-16T09:58:53.707 回答
0

我也有一个ArgumentError(比如@christofferjoergensen),但是有mongoid 3.1.5

使用 hashrocket 语法而不是传递两个参数解决了它:

queryable.any_of(
  queryable.between(:average_nightly_min_price => [10,100]).selector,
  queryable.between(:average_nightly_max_price => [110,1100]).selector
)
于 2014-11-06T15:38:05.150 回答