Многократный поиск в mongodb с морфией - PullRequest
3 голосов
/ 11 октября 2011

У меня есть два класса: Пользователь и Проект. Класс проекта имеет ОДНОГО пользователя (владелец проекта).

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

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

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

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

1 Ответ

3 голосов
/ 11 октября 2011

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

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

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