#ruby #mongodb #mongoid
#ruby #mongodb #монгоид
Вопрос:
Если у меня есть два запроса, которые выглядят как:
Store.any_in(:store_id => @user.stores_followed)
Store.any_in(:store_id => @category.stores)
Как мне объединить их в OR, используя any_of? Я пробовал это, и это не так.
Я пытался
Store.any_of({:store_id.any_in => @user.stores_followed},
{:store_id.any_in => @category.stores})
Ответ №1:
Похоже, что он не полностью поддерживается в Mongoid, поэтому мне пришлось сделать:
Store.any_of({"store_id" => { "$in" => @user.stores_followed}}, {"store_id" =>
{"$in" => (:store_id => @category.stores)}})
Ответ №2:
Вы передаете $ или запрашиваете массив из $ в таких условиях:
Store.or( { :store_id.in => @user.stores_followed }, { :store_id.in => @category.stores } )