* database/ collection 만들기
* 자료를 저장하기 위해선 일단 MongoDB에 저장할 폴더와 파일을 만들어야한다.
계정 안에 있는 여러가지 database와 collection에 자료를 저장할 것이다.
database를 하나 만들어보도록 한다.
1. MongoDB Atlas 메인 대시보드에서 Collections 라는 버튼을 클릭
2. Add my own data 버튼을 클릭 (혹은 이미 뭐가 있다면 create database)
3. database 이름, collection 이름을 정해준 다음 저장
(참고) database와 collection의 차이점은
> database는 하나의 폴더, collection은 하나의 엑셀파일이라고 생각된다.
* server.js에 코드를 구성하여 db와 통신해보도록 한다.
let db;
MongoClient.connect('connect URL', { useUnifiedTopology: true }, function (err, client) {
if (err) return console.log(err)
db = client.db('database name');
app.listen(8080, function () {
console.log('listening on 8080')
});
});
* let db;로 페이지 전체에서 쓸 수 있는 전역 변수를 선언해준다.
* { useUnifiedTopology: true }을 작성하면 warning message를 제거해준다.
* client.db('database name')함수를 이용해서 해당 이름을 가진 database에 접속하라는 명령을 내림
* collection에 자료 추가하는 법
let db;
MongoClient.connect('connect URL', { useUnifiedTopology: true }, function (err, client) {
if (err) return console.log(err)
db = client.db('database name');
db.collection('posts').insertOne( {name : 'latte', _id : 1} , function(err, result){
console.log('post save');
});
app.listen(8080, function () {
console.log('listening on 8080')
});
});
* db.collection('post') 라는건 collection 중에 posts 라는걸 선택
* insertOne을 붙이시면 자료를 추가할 수 있다. (Object 자료형식으로 추가가능)
* insertOne 함수는 insertOne(추가할 자료, 콜백함수) 형식으로 사용하면 된다.
db.collection('post').insertOne()
* 데이터 추가하고 삭제하고 수정할 때도 이거와 동일한 형식으로 사용
* _id는 무엇인가?????
sql의 primary key(기본키)와 같은 일종의 구분값이다.
mongoDB에선 자료들을 서로 구분하기 위해 _id가 꼭 있어야한다.
이걸 직접 집어넣으셔야 하는데 안집어넣으시면 알아서 하나 만들어준다.
ex)
_id : 1
_id : 2
_id : 3
'Study > Node.js' 카테고리의 다른 글
[Node.js_study] MongoDB 셋팅하기 (0) | 2022.04.16 |
---|---|
[Node.js_study] REST API란??? (0) | 2022.04.15 |
[Node.js_study] 폼에 입력한 데이터를 서버에 전송하기 (POST요청) (0) | 2022.04.15 |
[Node.js_study] 서버에서 HTML 파일전송(GET요청) (0) | 2022.04.15 |
[Node.js_study] 서버에 GET 요청 처리 해보기 (0) | 2022.04.15 |