mongoid combination of any_of and between

纵饮孤独 提交于 2019-12-13 18:00:27

问题


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?


回答1:


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
    )



回答2:


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
)


来源:https://stackoverflow.com/questions/22369414/mongoid-combination-of-any-of-and-between

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!