Just Do IT!
mongoose 사용하기 본문
728x90
mongoose란?
- Mongoose 모듈은 MongoDB 라는 NoSQL 데이터베이스를 Node.js로 사용할 수 있도록 하는 확장 모듈
- 데이터를 만들고 관리하기 위해 스키마(schema)를 만들고, 그 스키마로 모델을 만들어 데이터 관리 가능
- mongoDB에는 스키마가 없지만 mongoose를 통해 생성 가능
- 스키마와 모델을 통하여 data를 불러온 후 객체화 시켜 빠르게 수정함으로써 데이터에 접근 가능하게 만들어줍니다.
- 모델링 된 문서(document)가 모여있는 Collection을 관리하는 것을 수월하게 만들어 줍니다.
https://www.npmjs.com/package/mongoose
npm install mongoose --save
mongoDB와 연결하기
const mongoose = require("mongoose");
mongoose
.connect(config.mongoURI, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false,
})
.then(() => console.log("MongoDB connected.."))
.catch((err) => {
console.error(err);
});
config.mongoURI : config 폴더 안에 mongoDB URI를 지정해주었음
보안이 중요하기 때문에 깃허브에는 개인 정보 관련을 올리지 않도록 해주었다!
원래 저 자리에는 mongoDB와 연결할 수 있는 URI가 적혀 있었다.
스키마 생성
models 폴더를 생성하고 User.js 파일을 생성해 스키마를 만들었다 (예시임)
const mongoose = require("mongoose");
const userSchema = mongoose.Schema({
name: {
type: String,
maxlength: 50,
},
email: {
type: String,
trim: true,
unique: 1,
},
password: {
type: String,
maxlength: 50,
},
role: {
type: Number,
default: 0,
},
image: String,
token: {
type: String,
},
tokenExp: {
type: Number,
},
});
const User = mongoose.model("User", userSchema);
module.exports = { User };
type을 지정할 수 있고 maxlength를 지정할 수도 있다.
강의에서는 회원가입 예시로 스키마를 만들어서 그대로 따라치면서 이해하려고 했다.
mongoose의 특정인데, 스키마를 정의할 때 미리 type 등 설정을 해줄수 있다는 것이다.
아직 강의를 완강한 게 아니지만, mongoose에 대해 복습도 할 겸 블로그에 기록해둔다.
나중에 좀 더 추가할 일이 생기면 추가해야겠다.
'개발 공부 > Node.js' 카테고리의 다른 글
Node.js에서 JWT(JSON Web Token) 활용하기 (0) | 2024.01.10 |
---|---|
Bcrypt를 통해 비밀번호 암호화하기 (1) | 2024.01.10 |
NodeJS와 express 알아보기 (1) | 2024.01.02 |