Front-End/Node.js

[Node.js] mongoose 모듈, Passport 모듈

챌링킴 2021. 9. 4. 10:58
반응형

1) mongoose 모듈이란?
- mongodb의 odm(object data mapping) 모듈을 말한다.
- 하나의 컬렉션 안에 똑같은 속성을 가진 문서객체를 반복적으로 넣어두면 데이터를 조회할 때도 어떤 속성들이 있는지 미리 알고 있는 상태에서 조회할 수 있다.

npm i mongoose

 

- 위의 명령어로 실행하여 설치해준다.

 


✔ odm(object data mapping)
데이터베이스와 객체지향 프로그래밍 언어 사이 호환되지 않는 데이터를 변환하는 프로그래밍 기법


mongodb 모듈 vs mongoose 모듈
mongodb : java jdbc driver (속도빠름)
mongoose : java mybatis, hibernate 



2) 몽구스 모듈 스키마
- 데이터 유효성 검증을 위해 스키마를 사용한다.
- 데이터 타입 및 규약 등을 설정해준다.
- 스키마에 사용되는 타입은 아래와 같다.

String, Number, Date, Boolean, Array ..

 


3) 몽구스 모듈 모델
- 데이터베이스에서 데이터를 읽고 생성하고 수정하고 삭제하는 인터페이스를 정의해주는 역할을 한다.

mongoose객체.model(컬렉션명, 스키마명)

// 컬렉션이름을 미리 지정하지 않으면 1번째 매개변수에 s를 붙여 복수형으로 사용

 


4) 몽구스 컬렉션 설정하기

let UserModel = mongoose.model('user', UserSchema);

mongoose.plurallize(null);  // s를 자동으로 붙이지 않도록 설정

const UserSchema = new mongoose.Schema({
    userid:String,
    userpw:String,
    name:String,
    gender:String
},
{
    collection: 'user'
});



5) Passport 모듈이란?
- 세션을 내부적으로 처리해주는 패키지를 뜻한다.
- 구글, 페이스북, 트위터, 카카오톡 등 간편 로그인 기능을 구현할 때 사용한다.
- SNS 로그인, 로컬 로그인(내가 만든 로그인) 모두 개발이 가능하다.

 

✔ Passport이 하는 역할

클라이언트     인증요청           서버
로컬계정    --------------> 기능개발(세션관리) <--------> DB
SNS로그인   <------------   패스포트 모듈 <------------>

 

npm i passport

- 위의 명령어를 실행하여 설치해준다.

 

 

반응형