Множественный поиск в mongodb с morphia

У меня есть два класса: User и Project. В классе проекта есть ОДИН пользователь (владелец проекта).

В методе поиска он возвращает список пользователей после метода, и с этим списком пользователей мне нужно найти все проекты, которые содержат пользователя одного элемента списка пользователей ОС, которые у меня есть.

Чтобы решить эту проблему, я помещаю for и вызываю find (метод поиска morphia basicDao) для каждого пользователя для итерации, и результат, который я добавляю в массив, и вручную удаляю дублированные проекты.

Кто-то знает лучший способ решить мою проблему? Может быть, метод морфия, который делает это для меня...

Извините за плохой английский. :)


person Raduan Santos    schedule 11.10.2011    source источник


Ответы (1)


Вы можете использовать оператор $in, который задокументирован в Интернете. Как и следовало ожидать, эквивалент Morphia также называется in.

Вот пример использования in:

List<String> userList;
List<Project> projects = Project.find().field("user").in(userList).asList();
person jtoberon    schedule 11.10.2011