자료를 저장하기 위해선 일단 MongoDB에 저장할 폴더와 파일을 만드세요
앞선 포스팅에서 접속 URL 길게 적어서 쓴건 계정에 접속하는 것이었고,
이제는 우리 계정 안에 있는 여러가지 database와 collection에 자료를 저장할 것입니다.
우린 database 이런게 없으니까 하나 만들어보도록 합시다.
database/ collection 만들기
▼ 1. MongoDB Atlas 메인 대시보드에서 Collections 라는 버튼을 누르도록 합시다.
▼ 2. 이번엔 Add my own data 버튼을 누르도록 합시다. (혹은 이미 뭐가 있다면 create database)
3. 여러분이 database 이름, collection 이름을 예쁘게 하나씩 정해준 다음 저장을 눌러줍니다.
저는 database 이름은 todoapp
collection 이름은 post 라고 지었습니다.
database와 collection의 차이는
이런 거라고 보시면 됩니다. database는 하나의 폴더, collection은 하나의 엑셀파일이라고 생각하면 딱 맞습니다.
이제 server.js 아무데나 코드를 짜서 db와 통신해보도록 합시다.
(둘째줄에 { useUnifiedTopology: true } 이건 쓰면 좋습니다. 워닝메세지를 제거해줍니다.)
이렇게 여러분 코드를 바꿔주시면 됩니다. 첫줄과 넷째줄에 코드가 추가되었죠?
let db;로 페이지 전체에서 쓸 수 있는 전역 변수를 하나 만들고,
그리고 client.db('todoapp') 이라는 이상한 함수로 todoapp 이라는 database 에 접속해주세요~라는 명령을 내렸습니다.
collection에 자료 하나 추가하는 법
세줄만 쓰시면 아까 만든 collection에 내가 원하는 자료를 추가해볼 수 있습니다.
중간에 세줄이 추가되었습니다. DB에 자료 추가할 일이 있을 때마다 저거 세줄 쓰시면 됩니다.
db.collection('post') 라는건 collection 중에 post 라는걸 선택한다는 뜻이고
뒤에 insertOne을 붙이시면 자료를 추가할 수 있습니다. (Object 자료형식으로 추가가능)
그리고 insertOne 함수는 insertOne(추가할 자료, 콜백함수) 이렇게 쓰시면 되겠습니다.
이 패턴 잘 기억해주시길 바랍니다.
나중에 데이터 추가하고 삭제하고 수정할 때도 이거와 동일한 형식으로 쓸 거니까요.
몇줄에 걸친 긴 코드를 합쳐서 한번에 작성한다면
client.db('todoapp').collection('post').insertOne(추가할 자료, 콜백함수)
이렇게 쓰셔도 됩니다.
_id 라는건 왜 붙이죠?
mongoDB에선 자료들을 서로 구분하기 위해 _id가 꼭 있어야합니다.
일종의 출석번호라고 생각하시면 됩니다.
이걸 직접 집어넣으셔야 하는데
안집어넣으시면 알아서 하나 만들어줍니다.
_id : 어쩌구 이런 식으로 유니크한 아이디를 하나 자동으로 부여해줍니다.
근데 저런 이상한 문자들 보기싫으니까 보통 번호붙여 저장을 합니다.
_id : 1
_id : 2
_id : 3
이렇게 저장하는 자료들에 항상 유니크한 출석번호를 붙여서 저장을 하는게 좋습니다.
나중에 번호 붙이는 법에 대해 알아봅시다.
<출처 : 코딩애플 : Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기>
'Node.js' 카테고리의 다른 글
게시물마다 번호를 달아 저장하려면 (0) | 2022.06.10 |
---|---|
HTML에 DB데이터 꽂아넣는 법 (EJS & DB데이터 읽기) (0) | 2022.06.09 |
MongoDB 셋팅하기 (무료 호스팅도 받아보자) (0) | 2022.06.09 |
REST API란? (매우 순한맛ver.) (0) | 2022.06.09 |
폼에 입력한 데이터를 서버에 전송하는 법 (POST요청) (0) | 2022.06.09 |