mongodb 사용자와 같은 기능을 보다 합리적으로 디자인하는 방법은 무엇입니까?
怪我咯
怪我咯 2017-04-24 09:11:52
0
2
1156

사용자가 기사를 좋아한다고 가정하면 좋아요 작업이 취소될 수 있습니다.

사용자와 기사는 다대다 관계를 가져야 합니다. mongodb 공식 홈페이지에서 일대다 예시를 봤는데, 옆에 one을 추가해 주세요. 많은 ID는 한번 맺어진 후에도 쉽게 변하지 않는 관계에 더 적합해야 합니다. 하지만 좋아요처럼 자주 바뀌는 조작은 이런 형태에는 적합하지 않은 것 같습니다.

나중에 저는 두 가지 옵션을 생각했습니다.
첫 번째는 사용자 문서에 like 배열을 추가하고, 좋아요를 누를 때마다 기사 ID를 like에 푸시하고, 삭제될 때마다 배열에 있는 기사 ID를 직접 삭제하는 것입니다.

으아악

두 번째 방법은 전통적인 RDB 방식을 사용하여 사용자 ID와 기사 ID를 저장하는 Like의 새 컬렉션을 만드는 것입니다.

으아악

실무 경험이 없어서 조언을 구하러 왔습니다. 그런데 다른 더 좋은 방법이 있나요?

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(2)
伊谢尔伦

여기서 게시물 컬렉션에 기사를 좋아한 사용자의 _id 배열을 저장하는 세 번째 솔루션이 제안되었습니다. 예를 들면 다음과 같습니다.

으아아아

기사에 좋아요를 누른 사용자 확인:

으아아아

기사에 대한 좋아요 수 확인:

으아아아

좋아요 100개를 받은 기사 확인:

으아아아

사용자가 좋아하는 기사 확인:

으아아아

사용자가 게시물을 좋아했습니다:

으아아아

사용자가 게시물을 싫어함:

으아아아

PS: 위 코드는 테스트되지 않았습니다. 테스트하려면 설명서를 참조하세요.

伊谢尔伦

각 기사의 좋아요 수도 계산해야 하기 때문에 후자의 옵션을 권장합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿