데이터베이스에서 모델은 데이터의 구조와 규칙을 정의하는 개념이다. 모델은 데이터베이스 내의 엔티티(Entity)를 나타내며, 해당 엔티티에 대한 속성과 동작을 정의한다.
데이터베이스 모델은 일반적으로 CRUD(Create, Read, Update, Delete) 작업을 수행할 수 있는 메소드를 포함한다. 이러한 메소드를 사용하여 데이터를 생성, 읽기, 업데이트, 삭제하고 데이터베이스와 상호 작용할 수 있다.
Mongoose는 MongoDB ODM(Object Data Modeling) 라이브러리로서, Node.js에서 MongoDB와 상호 작용할 수 있도록 도와준다.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
name: String,
age: Number,
email: {
type: String,
required: true
}
});
const User = mongoose.model('User', userSchema);
위의 예시에서 User
는 사용자 모델을 나타내며, mongoose.model()
메소드를 사용하여 모델을 생성한다. 첫 번째 인자는 모델의 이름을 나타내고, 두 번째 인자는 해당 모델에 사용될 스키마를 전달한다.
const newUser = new User({
name: 'John Doe',
age: 25,
email: 'johndoe@example.com'
});
newUser.save()
.then(() => {
console.log('User created');
})
.catch((error) => {
console.log('Error:', error);
});
위의 예시에서 newUser
는 User
모델의 인스턴스를 생성하고, save()
메소드를 사용하여 MongoDB에 저장한다.