내 컬렉션 시나리오는 다음과 같습니다. 사용자 A는 다른 사용자를 차단할 수 있으며 다른 사용자는 사용자 A를 차단할 수 있습니다. 하지만 내 질문에 사용자 클래스를 디자인하는 방법입니다.mongodb 컬렉션을 디자인하는 방법
모든 차단 된 사용자를 일종의 목록에 넣거나 Block 클래스를 User 클래스에 포함하기 만하면됩니다.
가능한 솔루션 :
public class User
{
String id;
String username;
String password;
String email;
List<User> blockedUserEmails;
//getter and setters
}
또는
public class User
{
String id;
String username;
String password;
String email;
//getter and setters
List<String> blockedUserEmailsInAList;
}
또는 클래스의
public class User
{
String id;
String username;
String password;
String email;
@Embedded
List<Blockee> blockedUserId;
//getter and setters
}
어느 하나는 제안에 가장 적합합니다?
도움에 감사드립니다.
업데이트
사용자 A가 사용자 B 좋아하지 않는, 그래서 C와 같은 그룹에있을 것입니다 및 그룹에서 그들을 차단할 수 있습니다. 아마도 사용자 B는 사용자 a가 서로를 차단할 수 있도록 동일한 그룹을 원하지 않을 수도 있습니다. 가능한 사용자 및 그룹 목록을 표시 할 때 서로 보이지 않게되며 예를 들어 사용자 A는 사용자 B 또는 부사를 선택할 수 없습니다.
"최고"라는 표준이 무엇입니까? –
나는 단지 500 명의 사용자와 잘 작동하는 해결책이 필요하다. (스프링 MVC 사용) – user1067665
"잘 작동합니까?" * 당신에게 좋은 해결책인지 * 나쁜 해결책이 될지 알려주세요. –