TECHNOLOGY COMPARE

Mongoose / TypeORM

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

MongooseとTypeORMはどちらも「DB操作支援」の技術なので、同じ土俵で比較しやすい組み合わせです。

DB操作支援

Mongoose

MongoDB ドキュメントへスキーマとモデルを加えるODM。検証、ミドルウェア、参照をNode.js オブジェクトとして扱う。

何を担当する?

検証、ミドルウェア、参照をNode.js オブジェクトとして扱う。

いつ使う?

  • MongoDBに一定のスキーマ規則とモデル層を設けたいとき。

避けたい場面

  • SQL DBやMongoDB ドライバーの素の機能だけを使いたいとき。
DB操作支援

TypeORM

デコレーターとリポジトリでDB エンティティを扱うTypeScript ORM。クラスとテーブルを対応付け、複数SQL DBへのクエリを抽象化する。

何を担当する?

クラスとテーブルを対応付け、複数SQL DBへのクエリを抽象化する。

いつ使う?

  • 既存TypeORM資産やクラス中心のエンティティ設計を保守するとき。

避けたい場面

  • 新規で軽い型安全性と単純なマイグレーションを最優先するとき。
DIRECT RELATION

TypeORMとMongooseはNode.jsのデータアクセスと型安全性で比較される。クラスとテーブルを対応付け、複数SQL DBへのクエリを抽象化する。一方、Mongooseは検証、ミドルウェア、参照をNode.js オブジェクトとして扱う。