MongoDB와 상호작용하기 위해 사용되는 ODM(Object Document Mapper) 라이브러리
데이터베이스와 애플리케이션 간의 데이터 변환을 처리하는 기술
쉽게 말해서,
관계형 데이터베이스 (예: Oracle, MySQL): ORM (Object-Relational Mapping)을 사용
비관계형 데이터베이스 (예: MongoDB ,CouchDB): ODM (Object-Document Mapping)을 사용
스키마 설정하게 되면 유연성은 떨어져도 모든 문서가 일관된 구조를 가지게 되므로 데이터의 무결성을 보장함
유효성 검사: 데이터가 데이터베이스에 저장되기 전에 유효성을 검사하는 기능을 제공하며 잘못된 데이터를 사전에 방지 할 수 있음
쿼리 빌더: Mongoose는 다양한 쿼리를 쉽게 작성할 수 있는 메서드를 제공하며 데이터를 쉽게 조회, 업데이트, 삭제할 수 있음
const Schema = mongoose.Schema;
const userSchema = new Schema({
name: { type: String, required: true },
age: { type: Number, required: true },
email: { type: String, required: true, unique: true }
});
const User = mongoose.model('User', userSchema);
//참고: 테이블명은 users 로 만들어짐
// 데이터 생성
const newUser = new User({ name: '홍길동', age: 30, email: 'hong@example.com' });
newUser.save();
// 데이터 조회
User.find().then(users => console.log(users));
// 데이터 업데이트
User.updateOne({ name: '홍길동' }, { age: 31 });
// 데이터 삭제
User.deleteOne({ name: '홍길동' });
NodeJs(ExpressJs 프레임웍기반)& MongoDB 사용하며 프로젝트 개발 중 정리한 내용