티스토리 뷰

Server/Node.js

[Node.js] MongoDB 세팅

공부하는 승승 2023. 7. 13. 02:10

DB 종류

1. 관계형 (ex. MySQL, MariaDB, Oracle, MS SQL Server)

  • 대부분 SQL 이란 언어 사용
  • 장점: 빠르고 효율적
  • 단점: 3차원 데이터를 넣기 힘듦

 

2. NoSQL (ex. Dynamo, Oracle NoSQL, MongoDB, Redis, Cassandra)

Object 자료형으로 입출력 가능

 

 

mongodb atlas

- 회원가입

- Database Access > Add new Database User > Built-in Role >atlas admin으로 설정 (-> 해당 id로 nodejs에서 DB 접속 가능)

- Network Access > IP추가 > Allow access from anywhere

- Database / collection 만들기(Cluster는 하나의 공간, 여기에 데이터베이스를 만들어야 데이터 저장 가능)

Overview > Connect > Connect to your application >  Add your connection string into your application code의 코드 복사해서 서버 기본세팅한 파일에 붙이기

 

mongodb 설치

npm install mongodb@3.6.4

 

<server.js> 세팅

const MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb+srv://db이름:설정한비번@클러스터이름.gmrxoku.mongodb.net/?retryWrites=true&w=majority', function(에러, client) {
    
    app.listen(8080, function(){
        console.log('listening on 8080')
    });

})

 

 

Browse Collections > Add My Own Data > Create Database

 

 

DB에 데이터 저장

db = client.db('todoapp'); // 데이터 저장할 폴더 명시
db.collection('post').insertOne({_id: 0, 이름: 'Kim', 나이: 20}, function(에러, 결과){ // 저장할 데이터는 Object 자료형으로
    console.log('저장완료');
});

 

 

DB의 데이터를 HTMl에 가져오기

- EJS 설치 (라이브러리)

npm install ejs

 

<server.js>에 app set

app.set('vew engine', 'ejs');
댓글