사용자가 기사를 좋아한다고 가정하면 좋아요 작업이 취소될 수 있습니다.
사용자와 기사는 다대다 관계를 가져야 합니다. mongodb 공식 홈페이지에서 일대다 예시를 봤는데, 옆에 one을 추가해 주세요. 많은 ID는 한번 맺어진 후에도 쉽게 변하지 않는 관계에 더 적합해야 합니다. 하지만 좋아요처럼 자주 바뀌는 조작은 이런 형태에는 적합하지 않은 것 같습니다.
나중에 저는 두 가지 옵션을 생각했습니다.
첫 번째는 사용자 문서에 like
배열을 추가하고, 좋아요를 누를 때마다 기사 ID를 like
에 푸시하고, 삭제될 때마다 배열에 있는 기사 ID를 직접 삭제하는 것입니다.
두 번째 방법은 전통적인 RDB 방식을 사용하여 사용자 ID와 기사 ID를 저장하는 Like
의 새 컬렉션을 만드는 것입니다.
실무 경험이 없어서 조언을 구하러 왔습니다. 그런데 다른 더 좋은 방법이 있나요?
伊谢尔伦2017-04-24 09:13:52
여기서 게시물 컬렉션에 기사를 좋아한 사용자의 _id 배열을 저장하는 세 번째 솔루션이 제안되었습니다. 예를 들면 다음과 같습니다.
으아아아기사에 좋아요를 누른 사용자 확인:
으아아아기사에 대한 좋아요 수 확인:
으아아아좋아요 100개를 받은 기사 확인:
으아아아사용자가 좋아하는 기사 확인:
으아아아사용자가 게시물을 좋아했습니다:
으아아아사용자가 게시물을 싫어함:
으아아아PS: 위 코드는 테스트되지 않았습니다. 테스트하려면 설명서를 참조하세요.