mongoose => typegoose, nestjs-typegoose => kindagoose 사용이유
Mongoose
1. MongoDB와 Express.js 웹 애플리케이션 프레임워크 간 연결을 생성하는 자바스크립트 객체지향 프로그래밍 라이브러리이다.
2. Node.js와 MongoDB를 연결해주는 ODM이다.
* ODM(Object Documnet Mapping): 객체와 문서를 1대1로 매칭하는 역할을 한다.
3. Node.js기반 프레임 워크들에서도 사용 가능하다. (NestJS와 같은 Express기반 프레임워크 또한 가능)
Typegoose
TypeScript와 함께 Mongoose를 사용할 때 Mongoose 모델과 TypeScript 인터페이스를 모두 정의해야 한다는 문제
- 모델이 변경되면 TypeScript 인터페이스 파일도 동기화 상태를 유지해야 한다.
- 그렇지 않으면 TypeScript 인터페이스가 모델의 실제 데이터 구조를 나타내지 않는다.
Typegoose는 오직 타입스크립트 인터페이스(클래스)만을 정의함으로써 이 문제를 해결하려 한다.
내부적으로는 Reflect & reflect-metadata API를 사용하여 속성 유형을 검색하므로 중복성을 크게 줄일 수 있다.
nestjs-typegoose => kindagoose
nestjs-typegoose
NestJS와 typegoose를 같이 사용할 때 설치하는 패키지이다.
업데이트가 2021년 8월 15일 이후로 없기 때문에 여러 문제가 발생할 수 있다.
kindagoose
kindagoose를 만들 때 주요 초점은 이전 버전인 nestjs-typegoose의 문제를 해결하는 것이다.
그 중 하나는 nestjs-typegoose에서 불가능한 오래된 버전의 패키지를 사용하는 것이다.
바로 이러한 이유로 peerDependencies 내부의 종류는 프로젝트에서 작업할 때 다음 버전의 지정된 패키지를 설치하도록 요구된다.
프로젝트에서 꼭 오래된 버전의 패키지를 사용해아 하는데, nestjs-typegoose와 같이 사용할 때 에러가 나면 사용한다.
'개발 팁 정리' 카테고리의 다른 글
[MARKDOWN] 자주 사용하는 마크다운 문법 정리 (0) | 2023.06.26 |
---|---|
[알고리즘] 에라토스테네스의 체에서 소수 판정 시 제곱근 까지만 확인하면 되는 이유 (0) | 2023.06.15 |
영어, 숫자, 특수 문자, 글자 수 제한 정규식 모음 (0) | 2023.02.13 |
[React] 뒤로가기 방지 (0) | 2023.02.12 |
[개발용어] Nullable(?) (0) | 2023.02.06 |
댓글