[node.js] MongoDB와 Mongoose의 차이점

mongodb 데이터베이스를 사용하고 싶었지만 자체 웹 사이트와 설치 방법이있는 mongodb와 mongoose의 두 가지 데이터베이스가 있음을 알았습니다. 그래서 나는 “어느 쪽을 사용해야합니까?”라는 질문을 스스로에게 제기했습니다.

이 질문에 답하기 위해이 두 가지의 차이점이 무엇인지 설명 할 수 있는지 커뮤니티에 문의하십시오. 그리고 가능한 장단점? 그들은 실제로 저와 매우 비슷해 보이기 때문입니다.



답변

MongoDB는 BSON 문서 형태로 데이터를 저장하는 NoSQL 데이터베이스 시스템이라는 것을 이미 알고 있다고 가정합니다. 그러나 귀하의 질문은 Node.js의 패키지에 관한 것입니다.

Node.js의 관점에서 mongodb 는 mongodb 인스턴스와 상호 작용하기위한 기본 드라이버 이며 mongoose 는 MongoDB 의 객체 모델링 도구 입니다.

Mongoose는 MongoDB 드라이버 위에 구축되어 프로그래머에게 데이터 모델링 방법을 제공합니다.

편집 :
나는 이것이 더 좋을 것이라고 언급하고 싶지 않습니다. 그러나 두 가지 접근 방식을 사용할 때의 장단점을 나열합니다.

사용자는 Mongoose를 사용하여 특정 컬렉션의 문서에 대한 스키마를 정의 할 수 있습니다. MongoDB에서 데이터 생성 및 관리에 많은 편의성을 제공합니다. 단점은 몽구스를 배우는 데 다소 시간이 걸릴 수 있으며 상당히 복잡한 스키마를 처리하는 데 약간의 제한이 있습니다.

그러나 컬렉션 스키마를 예측할 수 없거나 Node.js 내부에서 Mongo-shell과 같은 경험을 원한다면 MongoDB 드라이버를 사용하십시오. 픽업하는 것이 가장 간단합니다. 여기서 단점은 데이터를 검증하기 위해 더 많은 양의 코드를 작성해야하며 오류의 위험이 높다는 것입니다.


답변

Mongo는 NoSQL 데이터베이스입니다.

데이터 모델에 ORM 을 사용하지 않으려면 기본 드라이버 mongo.js를 사용할 수도 있습니다 ( https://github.com/mongodb/node-mongodb-native) .

몽구스는 쉽게 이해할 수있는 쿼리로 몽고 데이터에 액세스 할 수있는 기능을 제공하는 회사 중 하나입니다.

몽구스는 데이터베이스 모델에 대한 추상화의 역할을합니다.


답변

나는 모두에 대한 발견 또 하나 개의 차이는 매우 쉽게하는 것입니다 connect to multiple databasesmongodb native driver당신이 사용하는 작업 방법에있는 동안 mongoose아직 몇 가지 단점을 가지고있다.

따라서 다중 테넌트 응용 프로그램을 사용하려면 mongodb 기본 드라이버로 이동하십시오.


답변

이러한 구성 요소를 독점 코드와 함께 사용하려는 경우 아래 정보를 참조하십시오.

몽고 브 :

  1. 데이터베이스입니다.
  2. 이 구성 요소는 AGPL (Affero General Public License) 라이센스의 적용을받습니다.
  3. 이 구성 요소를 독점 코드와 연결하면 (GPL, LGPL 등) 바이러스 효과로 인해 공개 소스에서 전체 소스 코드를 공개해야합니다.
  4. 클라우드를 통해 애플리케이션을 호스팅하는 경우 (2)가 적용되며 최종 사용자에게 설치 정보를 공개해야합니다.

몽구스:

  1. 객체 모델링 도구입니다.
  2. 이 구성 요소에는 MIT 라이센스가 적용됩니다.
  3. 제한없이 독점 코드와 함께이 구성 요소를 사용할 수 있습니다.
  4. 미디어 나 호스트를 사용하여 응용 프로그램을 배송하는 것은 허용됩니다.

답변

mongo-db새로운 개발자에게는 좋은 선택이 아닙니다.
반면에 mongooseORM (Object Relational Mapping)은 새로운 아기에게 더 나은 선택이 될 수 있습니다.


답변

Mongodb와 Mongoose는 MongoDB 데이터베이스와 상호 작용하는 두 가지 다른 드라이버입니다.

Mongoose : 데이터에 대한 엄격한 모델링 환경을 제공하는 오브젝트 데이터 모델링 (ODM) 라이브러리. MongoDB와 상호 작용하는 데 사용되므로 데이터 관리가 편리하여 삶이 더 쉬워집니다.

Mongodb : MongoDB와 상호 작용하기위한 Node.js의 기본 드라이버.


답변

Mongodb와 Mongoose는 완전히 다른 두 가지입니다!

Mongodb는 데이터베이스 자체 이고 Mongoose는 Mongodb 의 객체 모델링 도구 입니다.

편집 : MongoDB는 지적한대로 npm 패키지입니다. 감사합니다!