Если вы хотите найти записи, используя выражение IN, вы можете передать массив в хэш условий:
Client.where(orders_count: [1,3,5])
Ответ 3
Для удобства чтения это можно еще упростить, чтобы:
Model.find_by(id: [array of values])
Это эквивалентно использованию where, но более явному:
Model.where(id: [array of values])
Ответ 4
Если вы ищете запрос в mongoid, то это Model.where(:field.in => ["value1", "value2"]).all.to_a
Ответ 5
Существует небольшая разница между where и find_by.
find_by вернет только одну запись, если найдена, иначе будет ноль.
Находит первую запись, соответствующую заданным условиям. Нет подразумеваемого заказа, поэтому, если заказ имеет значение, вы должны указать его самостоятельно. Если запись не найдена, возвращает ноль.
def find_by(*args)
where(*args).take
rescue RangeError
nil
end
Между тем, где он вернет отношение
Возвращает новое отношение, которое является результатом фильтрации текущего отношения в соответствии с условиями в аргументах.