MongoDB와 Mongoose의 차이점
mongodb 데이터베이스를 사용하고 싶었지만 자체 웹 사이트와 설치 방법이있는 mongodb와 mongoose의 두 가지 데이터베이스가 있음을 알았습니다. 그래서 나는 "어느 쪽을 가지고 있고?"라는 질문을 스스로 제기했습니다.
이 질문에 답하기 위해이 두 가지 커뮤니티에 문의하십시오. 그리고 가능한 장단점? 그들은 실제로 저와 매우 유사 해 보이기 때문입니다.
MongoDB는 BSON 문서 형태로 데이터를 저장하는 NoSQL 데이터베이스 시스템이라는 것을 이미 알고 가정합니다. 그러나 귀하의 질문은 Node.js의 패키지에 관한 것입니다.
Node.js를의 관점에서 MongoDB의 는 MongoDB를와 상호 작용 인스턴스하기위한 기본 드라이버 이며 몽구스 는 MongoDB를 의 object-모델링 도구 입니다.
Mongoose는 MongoDB 드라이버 위에 구축되어 프로그래머에게 데이터 모델링 방법을 제공합니다.
편집 : 나는 이것이 더 좋을 생각하고 싶지 않았다. 그러나 두 가지 접근 방식을 사용할 때의 장단점을 사용할 수 있습니다.
사용자는 Mongoose를 사용하여 특정 컬렉션의 문서에 대한 스키마를 정의 할 수 있습니다. MongoDB에서 데이터 생성 및 관리에 많은 편의를 제공합니다. 단점은 몽구스를 약간의 제한이 있습니다.
그러나 컬렉션 스키마를 예측할 수 있습니다 Node.js 내부에서 Mongo-shell과 같은 경험을 사용하십시오 MongoDB 드라이버를 사용하십시오. 픽업하는 것이 가장 간단합니다. 여기서 단점은 데이터를 오류하기 위해 더 많은 양의 코드를 작성해야하며 위험이 많은 것입니다.
Mongo는 NoSQL 데이터베이스입니다.
데이터 모델에 ORM 을 사용하지 않고 기본 드라이버 mongo.js를 사용할 수도 있습니다 ( https://github.com/mongodb/node-mongodb-native) .
몽구스는 기능 중 쉽게 수있는 쿼리로 몽고 데이터에 액세스 할 수있는 중을 제공하는 회사입니다.
몽구스는 데이터베이스 모델에 대한 추상화의 역할을합니다.
모두에, 대한 나는 발견 또 하나 개의 차이는 매우 쉽게하는을 구석으로입니다 connect to multiple databases
와 mongodb native driver
당신이하는 사용 작업 방법에있는 동안 mongoose
아직 몇 가지 단점을 가지고있다.
따라서 다중 테넌트 응용 프로그램을 사용하는 경우 mongodb 기본 드라이버로 이동하십시오.
Mongodb와 Mongoose는 MongoDB 데이터베이스와 상호 작용하는 두 가지 다른 드라이버입니다.
Mongoose : 데이터에 대한 엄격한 모델링 환경을 제공하는 오브젝트 데이터 모델링 (ODM) 라이브러리. MongoDB와 상호 작용하는 데 사용되는 데이터 관리가 편리하여 삶이 더 빨리 처리합니다.
Mongodb : MongoDB와 상호 작용하기위한 Node.js의 기본 드라이버.
구성 요소를 독점 코드와 함께 사용하려는 경우 아래 정보를 참조하십시오.
몽고 브 :
- 데이터베이스입니다.
- 이 구성 요소는 AGPL (Affero General Public License)의 적용을받습니다.
- 이 구성 요소를 독점 코드와 연결하면 (GPL, LGPL 등) 바이러스 효과로 공개 소스에서 전체 소스 코드를 공개해야합니다.
- 클라우드를 통해 애플리케이션을 호스팅하는 경우 (2)가 적용되며 최종 사용자에게 설치 정보를 공개해야합니다.
몽구스 :
- 클래스 모델링 도구입니다.
- 이 구성 요소에는 MIT가 적용됩니다.
- 제한없이 독점 코드와 함께이 구성 요소를 사용할 수 있습니다.
- 미디어 나 호스트를 사용하여 응용 프로그램을 배송하는 것은 허용됩니다.
mongo-db
새로운 개발자에게는 좋은 선택이 아닙니다.
반면에 mongoose
ORM (Object Relational Mapping)은 새로운 아기에게 더 나은 선택이 될 수 있습니다.
Mongodb와 Mongoose는 완전히 다른 두 가지입니다!
Mongodb는 데이터베이스 자체 이고 Mongoose는 Mongodb 의 모델링 도구 입니다.
편집 : MongoDB는 지적한대로 npm 패키지입니다. 감사합니다!
참고 URL : https://stackoverflow.com/questions/28712248/difference-between-mongodb-and-mongoose
'IT' 카테고리의 다른 글
LESS의 빠른 인 하위 선택기 (0) | 2020.08.03 |
---|---|
시간을 변경하지 않고 C # DateTime을 UTC 시간으로 (0) | 2020.08.03 |
Objective-C에서 객체를 복사하는 방법 (0) | 2020.08.03 |
CoffeeScript를 사용하여 객체에 키가 있는지 확인하는 가장 간단한 방법 (0) | 2020.08.03 |
확장 메소드는 동적으로 디스패치 할 수 없습니다 (0) | 2020.08.03 |