일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- js ajax
- 정보처리산업기사
- js학습
- 프론트엔드
- 프로토콜
- 자바스크립트학습
- API
- 자바스크립트 학습
- 개발자공부
- 프론트엔드 공부
- node.js학습
- 리액트
- JavaScript
- node.js프로젝트
- vue.js학습
- 네트워크
- Vue.js
- react
- 개발자학습
- node.js
- 프론트엔드학습
- nodejs
- 개발공부
- 자바스크립트
- node.js 학습
- JS
- 개발자지식
- 자바스크립트기본
- MongoDB
- 프론트엔드공부
- Today
- Total
dada's
[Node.js] node.js 프로젝트 - To Do App 만들기 5 (Database에 자료 저장하기 + MongoDB) 본문
[Node.js] node.js 프로젝트 - To Do App 만들기 5 (Database에 자료 저장하기 + MongoDB)
dykang 2022. 6. 21. 20:51
실제 서버를 만들어 배포하고 하기 위해 데이터를 저장 할 수 있는 데이터베이스를 사용해야한다
데이터베이스는 SQL이라는 언어를 써서 데이터를 입출력 할 수 있는데,
SQL을 배우기에는 시간이 걸려 좀 더 쉽게 쓸 수 있는 MongoDB를 사용한다
MongoDB Atlas 가입 후 호스팅받기
MongoDB Atlas
Get started free. No credit card required.
www.mongodb.com
위의 사이트에 접속하여 가입을 한다
[ MongoDB 셋팅]
1. 채우라는 것들을 잘 채우고 무료로 사용가능한 데이터베이스를 선택해준다
2. 서버 위치는 한국으로 정해준다 (밑에 다른 내용은 안건들여도된다)
3. Database Access 메뉴에서 DB 접속용 아이디와 비번을 생성한다
4. [Network Access]메뉴에서 IP를 추가해준다 그냥 Allow access from anywhere을 선택해줘도 된다
5. [Database]메뉴에 들어가서 Browse Collection버튼을 클릭 > collection 화면에서 Add My Own Data 버튼 클릭 > data name과 collection name을 입력 해준다. 나는 data name : todoapp, collection name : post라고 적어줬다
6. 만든 Database와 서버를 connect(연결)해주기 위해 connect 버튼 클릭 > connect your application을 클릭 > 언어선택과 버전선택(nodejs 버전에 맞게)을 한 후 url를 복사한다
[ Sever.js에 DB 연결 ]
1. 새 터미널에 npm install mongodb를 입력해서 라이브러리를 설치한다
2. server.js 상단에 밑의 코드 추가
const MongoClient = require('mongodb').MongoClient;
3. 하단에는 밑의 코드를 추가한다
mogodb에서 복사한 url 붙여 넣을때 밑의 빨간 글씨의 내용을 url에 추가 해 줘야한다
mongodb+srv://아이디:비번@cluster0.6n3fc.mongodb.net/데이터베이스이름(나는todoapp임)?retryWrites=true&w=majority
+ app.listen이거는 서버를 띄우는 코드임 전에 입력한 걸 안으로 넣어준거다
MongoClient.connect('아까 mongodb페이지에서 복사한 url', function (에러, client) {
app.listen(4040, function () {
console.log('lisening on 4040');
});
})
[ DB와 통신하기 ]
1. var db로 페이지 전체에서 사용할 수 있는 변수를 하나 만든다
2. client.db('todoapp')이라는 함수로 todoapp이라는 database에 접속하라는 명력을 내린다
var db; //데이터 베이스를 저장하기 위한 변수
MongoClient.connect('내 url', function (에러, client) {
db = client.db('todoapp'); //todoapp이라는 database에 연결함
db.collection('post').insertOne({ 이름: 'dy', 나이: 27 }, function (에러, 결과) {
console.log('저장완료');
});
//insertOne()은 내가 저장할 데이터를 넣는 함수
//저장할 데이터는 오브젝트 형식으로 저장해야한다 => { 이름 : 데이터 }
//db.collection('collection중 선택').insertOne(); 이 패턴이 데이터를 추가하고 삭제하는 형식이다
app.listen(4040, function () {
console.log('lisening on 4040');
});
})
데이터를 저장 한 후 mogoDB의 database를 새로고침해보면 내가 저장한 데이터가 보인다
_id는 자료들을 구부하기 위해 자동으로 붙여주는 번호이다 직접 넣으려면 저장하는 오브젝트 데이터 안에 '_id : id번호' 를 입력해주면된다
'Node.js' 카테고리의 다른 글
[Node.js] node.js 프로젝트 - To Do App 만들기 7 (게시물마다 번호 달기 ) (0) | 2022.06.29 |
---|---|
[Node.js] node.js 프로젝트 - To Do App 만들기 6 (HTML에 DB데이터 넣는법) (0) | 2022.06.27 |
[Node.js] node.js 프로젝트 - To Do App 만들기 4 (폼에 입력한 데이터를 서버에 전송하기 POST요청) (0) | 2022.06.20 |
[Node.js] node.js 프로젝트 - To Do App 만들기 3 (서버에서 HTML파일 전송) (0) | 2022.06.18 |
[Node.js] node.js 프로젝트 - To Do App 만들기 2 (서버에 GET요청하기) (0) | 2022.06.17 |