본문 바로가기

JavaScript/React(리액트)

리액트 보일러 프로젝트 - 2 몽고디비 연결

2020/07/23 - [mongoDB(몽고)] - [mongoDB ] 몽고 DB 가입 및 생성하기

 

[mongoDB ] 몽고 DB 가입 및 생성하기

nongoDB 사이트 : https://www.mongodb.com/ The most popular database for modern apps We're the creators of MongoDB, the most popular database for modern apps, and MongoDB Atlas, the global cloud data..

happycodingdiary.tistory.com

몽고 DB를 연결

mongodb+srv://mongoria:<password>@boilerplate.ggtbp.mongodb.net/<dbname>?retryWrites=true&w=majority

위에 아이디와 비밀번호, db명을 입력합니다

 

몽고 DB를 프로젝트에 설치합니다

터미널에서 "npm install mongoose --save" 입력합니다

다운로드 확인하는 방법은 package.json 파일에서 dependencies 부분을 보면 아래와 같이 나옵니다

index.js에서 mongoose 연결합니다

const mongoose는 몽고 DB를 연결하고

connect를 통해서 몽고 DB에 생성한 클러스터와 연결합니다

then은 연결이 성공했을 경우 catch는 실패할 경우 실행되는 부분입니다

const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://<username>:<password>@boilerplate.ggtbp.mongodb.net/<dbname>?retryWrites=true&w=majority', {
    useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log('MongoDB Connected!'))
.catch(err => console.log('Connection failed '+err))

 

npm run start를 하면 몽고 DB가 연결됩니다

스키마 설정

프로젝트에 몽고 DB의 스키마를 생성합니다

models 폴더를 만들고 User.js를 만듭니다

User.js 파일을 만들고 mongoose 연결합니다

const mongoose = require('mongoose');

유저 스키마들 설정합니다

const mongoose = require('mongoose');
const userSchema = mongoose.Schema({});

name 유저명

email 이메일

role 권한

token 토큰

tokenExp 토큰 유효기간

name 유저명 문자열 타입 문자열 크기는 최대 50 입니다

email 이메일 문자열 타입 trim은 공백을 없애줍니다 

예) 가나 다 -> 가나다

unique는 중복을 허용하지 않습니다 유일한 값으로 설정합니다

email 이메일 숫자 타입 default는 기본값을 주는 것으로 값 입력이 없으면 기본값 0을 줍니다 

const User = mongoose.model('User', userSchema);
module.exports = {User}

const User = mongoose.model('스키마명', 스키마);

module.exports = {User} 사용 시 다른 곳에서도 사용 가능합니다