문제

I need to achieve something like:

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

is it possible using the combination of any_of and between. Or any other alternatives?

도움이 되었습니까?

해결책

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

It does not work if the queryable is embeded.

For ruby versions prior 2.0:

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

다른 팁

I also got an ArgumentError (like @christofferjoergensen), but with mongoid 3.1.5

Using the hashrocket syntax instead of passing two arguments solved it:

queryable.any_of(
  queryable.between(:average_nightly_min_price => [10,100]).selector,
  queryable.between(:average_nightly_max_price => [110,1100]).selector
)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top