dada's

[Node.js] node.js 프로젝트 - To Do App 만들기 5 (Database에 자료 저장하기 + MongoDB) 본문

Node.js

[Node.js] node.js 프로젝트 - To Do App 만들기 5 (Database에 자료 저장하기 + MongoDB)

dykang 2022. 6. 21. 20:51
728x90

 

 

실제 서버를 만들어 배포하고 하기 위해 데이터를 저장 할 수 있는 데이터베이스를 사용해야한다

데이터베이스는 SQL이라는 언어를 써서 데이터를 입출력 할 수 있는데,

SQL을 배우기에는 시간이 걸려 좀 더 쉽게 쓸 수 있는 MongoDB를 사용한다

 

MongoDB Atlas 가입 후 호스팅받기

https://www.mongodb.com/cloud/atlas/register?utm_content=rlsapostreg&utm_source=google&utm_campaign=gs_apac_rlsamulti_search_brand_dsa_atlas_desktop_rlsa_postreg&utm_term=&utm_medium=cpc_paid_search&utm_ad=&utm_ad_campaign_id=14412646494&adgroup=131761134692&gclid=CjwKCAjwtcCVBhA0EiwAT1fY7-9RKYT5JapfTjN-4RHN5jwMSNhFaimDWOfiIg8FGPy3OuS9vJeRdhoCsPQQAvD_BwE

 

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번호' 를 입력해주면된다

728x90
Comments