PostgreSQL, MySQL, SQLite, MongoDB 등 다양한 데이터베이스에 타입 안전한 접근을 제공하는 Node.js용 TypeScript ORM입니다.
Automattic/mongoose
Node.js용 MongoDB 객체 모델링 라이브러리로, 비동기 애플리케이션에 스키마, 모델, 유효성 검사, 쿼리 헬퍼를 제공합니다.
- 스타
- 27,460
- 포크
- 4,074
- 열린 이슈
- 182
- 마지막 커밋
- 9시간 전
어떤 프로젝트인가요?
Mongoose는 비동기 환경에서 실행되는 Node.js 애플리케이션을 위해 만들어진 MongoDB용 객체 데이터 모델링(ODM) 라이브러리입니다. 개발자는 스키마로 문서의 형태를 정의한 다음, 유효성 검사와 저장, 쿼리, 업데이트가 가능한 모델 인스턴스로 문서를 다룰 수 있습니다.
스키마에는 필드 타입, 기본값, 유효성 검사기(동기 및 비동기), getter와 setter, 인덱스, 미들웨어 훅, 인스턴스 메서드, 정적 메서드, 플러그인을 정의할 수 있습니다. 스키마로 만든 모델은 find, findOne, findById와 같은 쿼리 메서드를 제공하며, 문서는 임베디드 하위 문서와 컬렉션 간 참조를 위한 populate를 지원합니다.
Mongoose는 공식 MongoDB Node.js 드라이버를 기반으로 하며 Node.js에서 실행됩니다. Deno는 알파 단계로 지원합니다. createConnection을 통한 다중 연결도 지원합니다. 기존 Mongoose 모델과 함께 사용할 수 있는 브라우저 기반 MongoDB GUI인 Mongoose Studio도 제공됩니다.
핵심 기능
- 01타입, 기본값, 유효성 검사기를 사용해 문서 스키마 정의
- 02모델 메서드로 문서 쿼리, 생성, 업데이트, 삭제
- 03임베디드 하위 문서와 컬렉션 간 참조를 위한 populate
- 04미들웨어 훅, 인스턴스 메서드, 정적 메서드, 플러그인
- 05공식 MongoDB Node.js 드라이버 기반이며 다중 연결 지원
활용 사례
- MongoDB를 사용하는 Node.js 또는 Express 백엔드에 구조화된 데이터 계층 추가
- 문서를 데이터베이스에 기록하기 전에 유효성 검사와 기본값 적용
- 플러그인으로 여러 모델에서 재사용 가능한 스키마 로직 공유
빠른 시작
- 1
먼저 Node.js와 MongoDB를 설치하세요
- 2
npm으로 mongoose 패키지를 설치하세요
npm install mongoose - 3
코드에서 MongoDB 데이터베이스에 연결하세요
await mongoose.connect('mongodb://127.0.0.1/my_database');
사용 전 알아둘 점
- 사용하려면 MongoDB 서버를 별도로 설치해야 합니다.
토픽
자주 묻는 질문
- mongoose은(는) 무엇인가요?
- Node.js용 MongoDB 객체 모델링 라이브러리로, 비동기 애플리케이션에 스키마, 모델, 유효성 검사, 쿼리 헬퍼를 제공합니다. Mongoose는 비동기 환경에서 실행되는 Node.js 애플리케이션을 위해 만들어진 MongoDB용 객체 데이터 모델링(ODM) 라이브러리입니다. 개발자는 스키마로 문서의 형태를 정의한 다음, 유효성 검사와 저장, 쿼리, 업데이트가 가능한 모델 인스턴스로 문서를 다룰 수 있습니다.
- mongoose은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- mongoose은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- mongoose은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. mongoose의 마지막 커밋은 2026년 10월 21일입니다.
- mongoose은(는) 어디에 사용할 수 있나요?
- MongoDB를 사용하는 Node.js 또는 Express 백엔드에 구조화된 데이터 계층 추가 문서를 데이터베이스에 기록하기 전에 유효성 검사와 기본값 적용 플러그인으로 여러 모델에서 재사용 가능한 스키마 로직 공유
- mongoose는 어떻게 설치하나요?
- 먼저 Node.js와 MongoDB를 설치하세요 npm으로 mongoose 패키지를 설치하세요: npm install mongoose 코드에서 MongoDB 데이터베이스에 연결하세요: await mongoose.connect('mongodb://127.0.0.1/my_database');
- mongoose은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Automattic/mongoose
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Data Mapper, Unit of Work, Identity Map 패턴을 기반으로 SQL과 MongoDB를 지원하는 Node.js용 TypeScript ORM입니다.
다양한 SQL 및 NoSQL 데이터베이스를 지원하고 Active Record와 Data Mapper 패턴을 모두 사용할 수 있는 Node.js 및 기타 JS 플랫폼용 TypeScript·JavaScript ORM입니다.
Node.js와 TypeScript 애플리케이션에서 MongoDB에 연결하고 쿼리를 실행하는 공식 MongoDB 드라이버입니다.
Go 구조체를 데이터베이스 테이블에 매핑하고 연관 관계, 훅, 트랜잭션, 마이그레이션을 지원하는 기능이 풍부한 ORM입니다.
SQLModel은 Pydantic과 SQLAlchemy를 기반으로 하며 FastAPI와 함께 사용하도록 설계된, Python 클래스로 SQL 데이터베이스를 다루는 라이브러리입니다.