rails и mongodb — .and() с вложенными запросами .in()

Я пытаюсь выполнить поиск в mongoDB с помощью пользовательского ввода. Варианты для пользователя будут «И» и «ИЛИ».
Функциональность "и" не работает так, как мне нужно.
Прямо сейчас, если пользователь ищет "foo AND bar", я разбиваю его на массив ["foo", "bar"]. Затем я хочу выполнить поиск по всем полям в моей базе данных для любого документа, в котором есть «foo» и «bar».
Это мой запрос, @q — массив поиска:

@item = Item.and( {:food.in => @q}), {:clothes.in => @q}, {:movies.in => @q} )
Прямо сейчас это ищет "foo" И "bar", чтобы ОБА были в одном и том же поле еда, одежда и фильмы, а не только оба в одном документе. Таким образом, он возвращает 0, даже если «foo» находится в еде, а «bar» — в фильмах.

Как мне правильно вложить условие .any_of() или любое другое условие в .and(), чтобы оно искало оба слова во всем документе, а не в каждом отдельном поле?

Заранее спасибо за любую помощь, я уже давно этим занимаюсь..

ИЗМЕНИТЬ

Для большей ясности я хотел бы искать во ВЕСЬ документе mongoDB несколько слов, а не каждое поле в документе... что и делает приведенный выше запрос. Кто-нибудь знает как это сделать??


person Gcap    schedule 26.10.2015    source источник
comment
Наконец-то решил это.. если кто-то хочет знать, как получить этот рабочий вид, мой другой пост: " title="rails mongoid, объединяющий несколько критериев"> stackoverflow.com/questions/33507610/   -  person Gcap    schedule 03.11.2015