2011-10-11 4 views
2

나는 사용자와 프로젝트의 두 가지 클래스를가집니다. 프로젝트 클래스에는 하나의 사용자 (프로젝트의 소유자)가 있습니다.morphia를 사용하여 mongodb에서 다중 검색

검색 방법에서는 메소드 다음에 사용자 목록을 반환하며이 사용자 목록을 사용하면 목록의 사용자 중 한 항목의 사용자를 포함하는 모든 프로젝트를 찾을 필요가 있습니다.

이 문제를 해결하기 위해 for와 i는 find (morphia basicDao find 메서드)를 호출하여 각 사용자에 대해 반복하고, 결과를 배열에 추가하고 수동으로 중복 된 프로젝트를 제거합니다.

누가 내 문제를 해결하는 더 좋은 방법을 알고 있습니까? 아마 나를 위해 이것을하는 morphia 방법 ...

죄송합니다, 잘못된 영어. :)

답변

2

$in 연산자는 documented online입니다. 예상대로, Morphia's equivalentin입니다.

여기 in를 사용하는 예입니다 :

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

그 일의. 감사 –