回答:
MySQLはリレーショナルデータベースの例です。ORMを使用して、コード内のオブジェクトとデータのリレーショナル表現を変換します。
ORMの例としては、nHibernate、Entity Framework、Dapperなどがあります。
MongoDBはドキュメントデータベースの例です。ODMを使用して、コード内のオブジェクトとデータのドキュメント表現(必要な場合)を変換します。
MandangoはMongoDBのODMの例です。
ORMは、オブジェクトモデルとリレーショナルデータベースの間をマッピングします。ODMは、オブジェクトモデルとドキュメントデータベースをマッピングします。MySQLはORMではなく、リレーショナルデータベース、より具体的にはSQLデータベースです。MongoDBはODMではなく、ドキュメントデータベースです。
データベースの操作方法を初めて学ぶとき、それはすべて、ORM(オブジェクト関係マッピング)とODM(オブジェクトドキュメントマッピング)の2種類のデータベース設定に分類されます。
オブジェクトをリレーショナルな世界にマップするORMは、基本的に、オブジェクト指向プログラミング言語の互換性のない型の間でデータを変換します。ORMは、ストレージドライバーの実装固有の詳細をAPI(アプリケーションプログラムインターフェイス)でラップし、リレーショナルフィールドをオブジェクトメンバーにマップします。たとえば、従業員のテーブルがある場合、さまざまなメソッドが関連付けられた、すべての従業員の単一のオブジェクトにマップされます。
一方、ODMはオブジェクトドキュメントマッパーで、MongoDBなどのドキュメントデータベースにオブジェクトをマッピングします。
主な違いは、ORMがMySQLデータベース用であるのに対し、ODMはデータのドキュメント表現のマッピングを行うということです。ORMが何をするかを覚える最良の方法は、それを行と列を含むExcelスプレッドシートと考えることです。この設定を使用する場合は、現在のアプリケーションにどのように取り組むかについての優れた計画があることを確認する必要があります。ODMのように多くの変更を行うことはできません。ODMを使用すると、新しいフィールドとプロパティを簡単に追加できますが、ORMを使用して新しいフィールドを追加するときは、何も空のままではないため、それぞれに移動して変更しない限り、値をデフォルトにする必要があることに注意してください。
Mongooseは、MongoDBのODM(Object Data Model)の良い例であり、オブジェクトを使用して直接操作を実行でき、適切なクエリとスキーマに変換されます。それはでここに見つけることができますhttps://mongoosejs.com/