JS/Node.js

[MongoDB] 몽고디비 계정 설정과 Mongoose 설치

kth990303 2021. 6. 14. 21:55
반응형

저번 포스팅에서 몽고디비 회원가입 및 클러스터 생성을 해보았다.

https://kth990303.tistory.com/74

 

[MongoDB] 몽고디비 회원가입 및 클러스터 생성하기까지

몽고디비 회원가입 및 처음 이용해보는 팁을 블로그에 기록해보려 한다. MongoDB는 Json타입의 NoSQL이다. NoSQL은 관계형 데이터베이스가 아닌 SQL로, 불필요한 Join을 줄여주고 빠른 속도와 저렴한 비

kth990303.tistory.com

이번 포스팅에선 생성된 클러스터에 연결해 계정을 생성하고,

몽고디비 드라이버이자 ODM인 몽구스를 설치해볼 것이다.


DB User 생성

위 화면에서 CONNECT를 클릭하면 연결할 계정과 여러가지 세팅을 간단하게 설정한 후 연결할 수 있다.

어떤 IP에서 접속을 허용할 것인지, 그리고 User 계정 설정을 하는 칸이 뜰 것이다.

IP 접속 관련 질문은 맨처음 할 때에는 기본값으로 자동 설정이 됐었는데, 

취소하고 다시 CONNECT하려니까 IP 질문이 나왔다. 나는 내 IP에만 접속 허용하도록 하였다.

User계정 설정은 강의에서 언급한 johnahn, abcd1234로 아이디와 비밀번호를 세팅했다.

Connect your application을 설정하였다.

자, 연결이 완료됐다.

application code를 복사하여 IDE에 넣어줄 것이다.

<password>라고 돼있는 부분에 우리가 앞에서 설정한 비밀번호를 넣어주면 된다.

나같은 경우는 abcd1234를 넣어주면 되는 것이다.

또한, myFirstDatabase라고 돼있는 부분엔 뭐라뭐라 적혀있긴 한데, 가만히 놔둬도 잘 돌아감을 확인하였다.

const express=require('express');
const app=express();
const port=3000;

mongodb+srv://johnahn:<password>@boilerplate.lbu3u.mongodb.net/myFirstDatabase?retryWrites=true&w=majority

app.get('/', (req, res)=>{
    res.send('Hello world!');
});

app.listen(port, ()=>{
    console.log(`Example app listening on port ${port}!`);
});

위 코드에 이렇게 집어넣었다.

나중에 따로 사용할 일이 있을 듯하다.

 


Mongoose 설치

몽고디비를 편하게 사용하기 위해 MongoDB Driver에 해당하는 몽구스를 설치할 것이다.

Sequelize가 MySQL을 이용한 SQL계열 ORM이었다면,

Mongoose는 NOSQL 계열에 해당하는 드라이버라 보면 된다. 

참고로 ORM은 Object Relational Mapping, ODM은 Object Data Mapping이란 뜻으로

둘 다 도메인과 테이블을 매핑해주는 역할을 해준다.

npm install mongoose --save

위와 같이 터미널에 입력하면 바로 설치가 된다.

package.json의 디펜던시 목록에서 몽구스가 설치되었음을 확인할 수 있다.

30.984초라는 엄청난 시간동안 설치하였는데,

여러분들의 컴퓨터라면 보통 5~15초 정도 소요될 것이다.

필자 컴퓨터가 8년째인 똥컴이다보니..

 

그럼 이제 몽구스를 이용하여 몽고디비를 연결해보고 실행해보도록 하자!

const mongoose=require('mongoose');
mongoose.connect
('mongodb+srv://johnahn:abcd1234@boilerplate.lbu3u.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'
, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true,
    useFindAndModify: false,
}).then(()=>{
    console.log('MongoDB Connected...');
}).catch(()=>{
    console.log(err);
})

먼저 mongoose를 사용하기 위해 모듈을 require해주었다.

그 다음, connect문을 위와 같이 작성해준다.

몽구스는 Promise문이 작성 가능하기 때문에 위와 같이 작성한다.

실행해보았더니 잘 작동됨을 확인할 수 있었다.


아직 몽구스로 아무것도 해본 것이 없어 잘 작동되는 것일 수도 있다.

이제 슬슬 작업에 들어가면 별별 에러를 다 만나지 않을까?

반응형