mongoose의 Schema 메소드를 이용하면 javascript로도 DB를 정의할 수 있다.
프로젝트에 models라는 폴더를 생성한다. (express설치한 서버 폴더 아래에) model은 흔히 MySql DB에서 말하는 테이블과 비슷하다 생각하면 되고, schema는 테이블의 구조라고 생각하면 된다. 먼저 User.js 파일을 생성해서 이 곳에 사용자 정보에 관한 스키마를 정의하자.
const userSchema = mongoose.Schema({
//여기에 사용자 스키마를 각자 프로젝트에 맞게 정의하면 된다.
컬럼1:{
속성:값
}
컬럼2:{
속성:값
}
등등...
});
const User = mongoose.model('User', userSchema); //user변수에 정의한 userSchema 스키마를 담아서 사용
module.exports = { //가져다 쓸 수 있도록 exprot 해준다.
User
}
const mongoose = require('mongoose'); //몽구스를 가져온다.
const userSchema = mongoose.Schema({
name: { // name컬럼의
type: String, //Type은 문자열 형태여야 하고
maxlength:50 //최대 50자를 넘기지 않는다.
},
email: {
type: String,
trim: true, //공백을 제거한다
unique:1 //중복 값을 허용하지 않는다.
},
password: {
type: String,
minlength:5 //최소 5자 이상.
},
});
const User = mongoose.model('User', userSchema);
module.exports = { //가져다 쓸 수 있도록 exprot 해준다.
User
}
이렇게 사용자 스키마를 정의해 준 뒤,
다시 index.js 로 돌아와서 User을 등록해준다.
const { User } = require('./models/User'); //index.js에서 User스키마를 참고할 수 있도록 require해준다.
다음 포스팅에서는 이 User를 이용해 회원가입하는 로직을 구현하도록 하겠습니다.
※ 읽어보면 더 좋은 글 => lgphone.tistory.com/92?category=916503
'Web > Node.js' 카테고리의 다른 글
Node.js ) bcrypt를 이용해 패스워드 암호화하기 - 1 (0) | 2020.11.28 |
---|---|
Node.js(express.js) 회원가입 (0) | 2020.11.28 |
Node.js에 몽고DB연결하기 (feat. Mongoose) (0) | 2020.11.26 |
Node.js 시작하기( Node, express 설치) (0) | 2020.11.24 |