저번 포스팅에서 몽고디비 회원가입 및 클러스터 생성을 해보았다.
https://kth990303.tistory.com/74
이번 포스팅에선 생성된 클러스터에 연결해 계정을 생성하고,
몽고디비 드라이버이자 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
위와 같이 터미널에 입력하면 바로 설치가 된다.
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문이 작성 가능하기 때문에 위와 같이 작성한다.
실행해보았더니 잘 작동됨을 확인할 수 있었다.
아직 몽구스로 아무것도 해본 것이 없어 잘 작동되는 것일 수도 있다.
이제 슬슬 작업에 들어가면 별별 에러를 다 만나지 않을까?
'JS > Node.js' 카테고리의 다른 글
[NodeJS] BCrypt로 비밀번호 암호화하기 (0) | 2021.06.20 |
---|---|
[NodeJS] Postman을 이용하여 회원가입 API 테스트해보기 (0) | 2021.06.19 |
[MongoDB] 몽고디비 회원가입 및 클러스터 생성하기까지 (0) | 2021.06.11 |
[Node.js] 오랜만에 노드 서버 실행을 해보았다 (0) | 2021.06.10 |
[node.js] MySQL과 nodejs 연동을 위해 sequelize를 사용해보았다 (0) | 2021.04.12 |