Множественный поиск в mongodb с помощью morphia

#java #mongodb #morphia

#java #mongodb #morphia

Вопрос:

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

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

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

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

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

Ответ №1:

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

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

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