저는 데이터베이스 작업에 새로운 경험이 있으며 NoSQL과 MySQL의 차이점에 대해 배우고 있습니다. 사용자가 자신의 캘린더에 넣을 이벤트를 만들 수있는 웹 응용 프로그램을 만들고 있습니다.MongoDB 데이터베이스를 어떻게 구성해야합니까?
지금은 사용자 이름과 비밀번호를 수집하고 이벤트를 저장하는 각 사용자의 컬렉션을 보유하고 있습니다. 그러나 NoSQL에 대해 더 많이 읽으면서 모든 이벤트에 대한 콜렉션이 있어야하며 각 사용자의 이벤트를 단일 문서에 저장해야합니다. 따라서 데이터베이스에는 사용자 이름과 이벤트를위한 2 개의 콜렉션이 있습니다. 이것은 더 합리적인 것처럼 보이지만 큰 문서를 가진 매우 큰 이벤트 컬렉션으로 끝날 것입니다.
가장 좋은 방법은 무엇입니까? 많은 MongoDB 예제를 살펴 보았지만 대부분 컬렉션이 하나 인 간단한 데이터베이스 만 보여줍니다.
NoSQL의 기본 원칙은 내 요청에 따라야한다는 것입니다.하지만 사용자 컬렉션이 예외가 될 것이라고 생각했습니다. 암호, 세션 쿠키 등을 저장하는 경우 –
제 관점에서 보면 위에서 설명한 일반 규칙을 따릅니다. 암호와 세션 데이터를 업데이트해야하므로 복제하지 않는 것이 좋습니다. ==>이를 사용자 문서에 포함시키고이 문서에도 이벤트 목록 (또는 이벤트 ID)을 저장하십시오. –