Node.js + MongoDB 댓글/하위댓글 구현 방법
조회수 1783회
Node.js 에서 express 프레임 워크 기반의 데이터베이스는 MongoDB 를 사용하고 있습니다.
그런데, 댓글과 하위댓글을 구성하고자 하니, 어떻게 구현해야할지 생각보다 쉽지 않더라구요.
혹시 이러한 기능을 구현해보시거나, 경험해보신 분들의 조언을 들을 수 있을까요.
1 답변
-
질문하시는 것은 일대다 관계(one-to-many relation)에 관한 것입니다.
하나의 글은 여러 댓글을 가질 수 있고 각 댓글은 각각 여러 개의 댓글을 가질 수 있죠. 하지만 하나의 댓글이 여러 개의 글을 가지지 못하고, 마찬가지로 하나의 댓글이 여러 개의 댓글에 하위댓글로 달릴 수도 없습니다. 따라서 공식 문서나 이런 글을 참조해 보면 대충 이렇게 구성할 수 있겠네요.
/* 전략 */ { _id: 102, comment: "꼬우면... 아시죠?", /* 중략 */ subcomments: [103, 105, 111, 156] /* 하위댓글로 처리되는 comment._id들 */ }, { _id: 103, comment: "ㄴㅋㅋㅋㅋㅋㅋㅋㅋ", /* 중략 */ subcomments: null /* 딱히 하위댓글이 없거나 삭제되었으면 키를 없애거나 null 처리 */ }, /* 하략 */
댓글 입력