У меня есть документ в Монго с двумя полями массива:Mongoid «или» и «в» - запрашивая несколько массивов
field :app_usernames, type: Array
field :email_addresses, type: Array
Я хотел бы создать функцию, которая принимать массив имен пользователей и массива адресов электронной почты для поиска коллекции. Кикер, что я хочу, чтобы вернуть документы, которые имеют любой из значений, переданных в массивах:
def find_people(usernames_to_search, emails_to_search)...
Так данным документом, со значениями:
app_usernames = ['test1','test2','test3']
email_addresses = ['[email protected]','[email protected]']
Я хочу функцию найти его, когда поиск любого из этих значений осуществляется через параметры массива. Он должен вернуть этот документ в следующих случаях:
find_people nil,['[email protected]']
find_people ['test3'],['[email protected]']
find_people ['oldusername'],['[email protected]']
Последний, кажется, вызывает у меня проблемы.
До сих пор я пытался
.or(:app_usernames.in usernames_to_search, :email_addresses.in emails_to_search)
но безрезультатно.
Отлично! Спасибо. – JimmyP