source

Nodejs/Express용 Mongodb 드라이버와 함께 Mongodb를 직접 사용하는 대신 Mongoose ODM을 사용해야 하는 이유는 무엇입니까?

bestscript 2023. 3. 6. 21:13

Nodejs/Express용 Mongodb 드라이버와 함께 Mongodb를 직접 사용하는 대신 Mongoose ODM을 사용해야 하는 이유는 무엇입니까?

막 요.mongodb 에 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.Mongoose, MongoDb™의 ODM.

에서는 왜 가 이 문서를 사용해야 알 수.Mongoose Mongodb에서 할 수 .Mongoose를 사용하는 문고스

주된 장점은 순수한 몽고보다 추상적이라는 것이다.

SQL 데이터베이스 유형에서 온 많은 개발자들은 구조가 정의되지 않은 동적 컬렉션으로 작업하는 것을 매우 불편해 합니다.그래서 우선 스키마들이 그것을 도와준다.
또한 컬렉션에서 문서를 삽입/업데이트/검색할 때 스키마가 일관되도록 검증 및 기타 깔끔한 기능을 구현합니다.

또한 모델 추상화를 생성하여 작업하기 쉽게 하므로 순수 데이터가 아닌 개체로만 작업하는 것처럼 보입니다.

미들웨어, 플러그인, 인구, 검증 등 그 밖에도 많은 장점이 있습니다.자세한 내용은 mongoose 문서를 참조하십시오.

개인적으로는 10gen mongo 공식 문서와 더 일치하고 항상 어느 정도 비용이 드는 추상적인 개념을 만들지 않기 때문에 순수 mongo를 선호합니다.

Node.js를 사용하고 있고 NoSQL을 처음 사용하는 경우 네이티브 노드 드라이버(mongodb)를 사용하는 것이 좋습니다.

이유:

  1. 노드 드라이버와 Mongo 쉘의 구문은 매우 비슷하기 때문에 MongoDB의 일반적인 사용법을 보다 빠르게 이해할 수 있습니다.

  2. 모델은 MVC 시스템으로 분할해야 하는 대형 API를 사용하여 대형 응용 프로그램으로 확장할 때만 유용합니다(mongoose는 모델임).

Mongoose 사용에 대한 장단점:

장점:

  • 가장 큰 장점은 데이터 검증이 내장되어 있다는 것입니다(추가 또는 데이터베이스 갱신을 허용하는 데이터의 요건).직접 만드는 데는 약간의 작업이 필요합니다.(하지만 그렇게 어렵지는 않습니다)
  • 어플리케이션의 나머지 부분으로부터 대부분의 mongoDB 코드를 추출합니다.

단점

  • 가장 큰 단점은 스키마부터 시작하는 것입니다.NoSQL을 사용하는 목적은 실제로 무효가 됩니다.또, 급속한 개발 단계에서, 느슨한 구조화 데이터 시스템의 장점을 경험하는 것은 어렵습니다.

  • 모든 데이터 작업이 모델을 사용하여 캡슐화할 수 있는 특성화에 적합한 것은 아닙니다.캡슐화는 시작하기 전에 데이터 흐름에 대한 명확한 지식이 없는 한 초기에 특히 어렵습니다(이상적이지만 개념적으로 새로운 것을 구축하고 많은 실험과 변경/재설정이 필요한 경우에는 쉽지 않습니다).

언급URL : https://stackoverflow.com/questions/18531696/why-should-we-use-mongoose-odm-instead-of-using-directly-mongodb-with-mongodb-dr