#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();