나는이 문제를 해결하기 위해 머리를 감싸려고 노력해 왔습니다. 다음 그룹의 사용자 및 그룹 컬렉션 문서가 있습니다.Morphia를 사용하여 다른 컬렉션에서 참조 된 mongodb 문서를 가져 오는 중
그룹 문서
{
"_id" : ObjectId("52eabc9914cc8d6cc1e6f723"),
"className" : "org.xxxxxx.sms.core.domain.Group",
"name" : "CE Play group",
"description" : "CE Play group",
"creationdate" : ISODate("2014-01-30T20:56:57.848Z"),
"user" : DBRef("users", ObjectId("52ea69c714ccd207329b2476"))
}
{
"_id" : ObjectId("52ea69c714ccd207329b2477"),
"className" : "org.xxxxxx.sms.core.domain.Group",
"name" : "Default",
"description" : "Default sms group",
"creationdate" : ISODate("2014-01-30T15:03:35.916Z"),
"user" : DBRef("users", ObjectId("52ea69c714ccd207329b2476"))
}
사용자 나 사용자 그룹을 검색하고 일부 조작을 수행하는 클래스에 설정되어있는 모르핀 데이터 저장소 단일 개체가
{
"_id" : ObjectId("52ea69c714ccd207329b2476"),
"className" : "org.xxxxxx.core.domain.User",
"username" : "jomski2009",
"firstname" : "Jome",
"lastname" : "Akpoduado",
"email" : "[email protected]",
"active" : true,
"usergroups" : [
DBRef("groups", ObjectId("52ea69c714ccd207329b2477")),
DBRef("groups", ObjectId("52eabc9914cc8d6cc1e6f723"))
]
}
을 문서화합니다. 제공된 사용자 이름 "jomski2009"로 "Default"라는 그룹을 가져오고 싶었는데, Morphia에서 목록으로 사용자 그룹을 가져 오지 않고 내가 원하는 그룹을 찾기 위해 그룹 목록을 반복하지 않고 어떻게 구현합니까?
감사합니다.
Neil에게 고마워. 귀하의 제안은 매우 도움이되었습니다. 사용자 이름 필드를 ID로 사용하고 사용자를 그룹 컬렉션의 DBRef 개체로 추가하는 대신 단순히 사용자 이름을 추가하고 그룹 이름 (함께 고유 한 엔터티를 형성 함)과 결합하여 이제는 특정 그룹을 검색하기위한 산들 바람 . – Jome