mongoid комбинация any_of и между

Мне нужно добиться чего-то вроде:

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

возможно ли использовать комбинацию any_of а также between, Или любые другие альтернативы?

2 ответа

Решение
queryable.any_of(
  queryable.between(:average_nightly_min_price,  [10,100]).selector,
  queryable.between(:average_nightly_max_price,  [110,1100]).selector
)

Это не работает, если запрашиваемый встраивается.

Для версий ruby ​​до 2.0:

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

Я также получил 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
)
Другие вопросы по тегам