전체 글 210

node>댓글기능 만들기 (document간의 종속)

댓글 기능은 어떻게 만들까요?당연히 댓글 기능 만드는 법을 배워야 만들 수 있는게 아니라...알아서 해오십시오 새로운거 없습니다. 일단 어떻게 동작하는지 설명부터 해보자면1. 글마다 밑에 input이랑 전송버튼이 있고 누르면 서버로 댓글이 전송2. 그럼 서버는 댓글을 DB에 저장3. 상세페이지 방문시 댓글을 가져와서 보여주기 근데 댓글은 DB 어디에 저장하면 좋을지 생각해봅시다.초보 때는 "DB에 이렇게 저장해도 될까" 많이 생각을 할텐데나중에 데이터가 많아져도 출력/수정/삭제가 쉬우면 잘 저장한 것입니다.    댓글은 글 document 안에 저장해도 될듯 당연히 A라는 글에 달린 댓글은A라는 document 안에 필드 하나 새로 만들어서 저장해도 됩니다. (DB에 있는 글 document){ tit..

Node.js 2024.09.19

node>게시판에 회원기능을 넣자 & 비정규화

지금은 개나소나 모든 글을 삭제할 수 있습니다.그건 싫고 글을 쓴 주인만 삭제가 가능하게 만들고 싶습니다.하지만 그 전에 이 글을 누가 썼는지 지금 아무도 모르는데요?그럼 어떡하지 하면서 손가락 빨고 있는게 아니라그래서 글 발행시 작성자의 이름이나 _id 같은 것도 기록해두도록 합시다.    글 발행 기능을 업그레이드하자 글 발행할 때 지금은 title, content 이정도만 기록하고 있는데여기다가 현재 로그인한 유저의 _id와 username을 기록해둡시다.  app.post('/add', upload.single('img1'), async (요청, 응답) => { await db.collection('post').insertOne(        {           title : 요청.body...

Node.js 2024.09.19

node>검색기능 만들기 3 (search index)

빠르게 문자를 부분검색하고 싶으면 search index를 만들어둡시다.다른 데이터베이스에서는 full text index라고 부르기도 합니다.mongodb 사이트에 search 아니면 search index 어쩌구 버튼이 컬렉션 들어가보면 있을텐데 그거 누릅시다.mongodb를 로컬하드에 설치해놓고 쓰는 분들은 아마 못쓸 수도 있습니다.     search index 동작원리 근데 그 전에 search index는 어떻게 만들어지는 것인지 궁금할까봐 잠깐 원리설명하자면    1. 일단 index를 만들 때 document에 있는 문장들을 가져와서 조사나 쓸데없는 불용어들을 다 제거합니다.그러니까 and or the ~s 이런거 제거해준다는 소리입니다.한국어도 비슷하게 을, 를, 이, 가, 그리고, 또는..

Node.js 2024.09.19