나는 새로운 앱을 만들고 지금 그 구조를 설계하고 있는데, 몽구스를 사용하거나 사용하지 않는 이유에 대한 몇 가지 생각이 있습니다.
- 몽구스는 느려질 것입니다 (큰 앱의 경우)
- Mongoose는 더 복잡한 쿼리로 더 어렵습니다.
- 더 빠른 속도를 원하고 몽구스없이 선택하는 상황이있을 것입니다. 그러면 몽구스를 사용하여 절반을 쿼리하고 절반을 사용하지 않을 것입니다. 미친 상황 이네요 ..
- Mongoose는 간단한 db 구조의 간단한 앱으로 더 빠르게 코딩 할 수 있습니다.
- Mongoose는 mongodb 문서와 mongoose 문서를 읽을 수있게합니다.
- 몽구스를 사용하면 스택이 한 가지 더 의존 할 수 있으며 충돌하여 재로 타 버릴 가능성이 하나 더 있습니다.
mongodb 드라이버는 원시 드라이버이며 mongodb와 직접 통신합니다. 몽구스는 추상화 계층입니다. db 구조가 충분히 단순하면서 db에 대한 I / O가 더 쉬워집니다.
추상화는 그것의 요구 사항을 가져오고 당신은 그것을 따라야합니다. 앱 속도가 느려지고 RAM이 더 많이 소모되며 더 복잡해 지지만 사용 방법을 알고 있다면 간단한 객체를 더 빨리 작성하고 데이터베이스에 저장할 수 있습니다.
mongoose가 없으면 mongodb에 직접 연결하여 더 빠른 응용 프로그램을 사용할 수 있습니다. 아무도 DB에 물건을 저장하기 위해 자신의 모델을 작성할 수 없다고 말합니다. 할 수 있습니다. 그리고 나는 그것이 더 쉽다고 생각합니다. 사용할 코드를 작성하면 필요한 것을 알 수 있습니다. 추상화 레이어는 몽구스보다 훨씬 작습니다.
나는 PHP 세계에서 왔고, 우리는 감가 상각 된 mysql_ 함수가있는 원시 SQL을 가지고 있었고 PDO-객체 지향 추상화 계층을 사용하여 SQL과 통신했습니다. 또는 Doctrine과 같은 무거운 ORM을 선택하여 mongoDB의 mongoose와 유사한 것을 가질 수 있습니다. setter / getters / save 메소드 등이있는 객체. 괜찮지 만 더 많은 추상화를 추가하면 더 많은 파일, 더 많은 논리, 더 많은 문서, 더 많은 종속성이 추가됩니다. 나는 물건을 단순하게 유지하고 스택에 덜 의존하는 것을 좋아합니다. BTW, 그래서 처음에 PHP에서 서버-클라이언트 자바 스크립트로 옮겼습니다 ..
mongoose를 사용하면 sql과 유사한 간단한 db 구조를 가진 간단한 앱 을 작성하는 것이 좋습니다 . 하위 문서를 만들기 시작하고 모든 미친 쿼리를 만들고 싶을 때 나는 몽구스로 정말 힘들다는 것을 알았습니다. mongodb 문서를 살펴본 다음 mongoose 문서를 살펴보고 원하는 쿼리를 만드는 방법을 찾아야합니다. 때때로 mongodb의 X future가 몽구스에 없다는 것을 알게 될 것이므로 원시 mongodb 드라이버로 이동하여 원시 mongodb 쿼리를 하나 또는 다른 위치에 작성합니다. mongoose가 없으면 mongodb 문서를보고 쿼리를 수행합니다.