mongodb 데이터베이스를 사용하고 싶었지만 자체 웹 사이트와 설치 방법이있는 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 드라이버를 사용하십시오. 픽업하는 것이 가장 간단합니다. 여기서 단점은 데이터를 검증하기 위해 더 많은 양의 코드를 작성해야하며 오류의 위험이 높다는 것입니다.
mongodb
안됩니다 MongoDB
: P
Mongo는 NoSQL 데이터베이스입니다.
데이터 모델에 ORM 을 사용하지 않으려면 기본 드라이버 mongo.js를 사용할 수도 있습니다 ( https://github.com/mongodb/node-mongodb-native) .
몽구스는 쉽게 이해할 수있는 쿼리로 몽고 데이터에 액세스 할 수있는 기능을 제공하는 회사 중 하나입니다.
몽구스는 데이터베이스 모델에 대한 추상화의 역할을합니다.
이러한 구성 요소를 독점 코드와 함께 사용하려는 경우 아래 정보를 참조하십시오.
몽고 브 :
몽구스:
mongo-db
새로운 개발자에게는 좋은 선택이 아닙니다.
반면에 mongoose
ORM (Object Relational Mapping)은 새로운 아기에게 더 나은 선택이 될 수 있습니다.
Mongodb와 Mongoose는 완전히 다른 두 가지입니다!
Mongodb는 데이터베이스 자체 이고 Mongoose는 Mongodb 의 객체 모델링 도구 입니다.
편집 : MongoDB는 지적한대로 npm 패키지입니다. 감사합니다!