ORM和ODM有什么区别?

我试图找出ORM和ODM之间有什么区别,据我了解这个概念,ORM(Object Relational Mapper)映射了数据之间的关系,ODM(对象文档映射器)处理文档。 我正确地认为mySQL是ORM的一个例子,MongoDB是ODM的一个例子吗?

我相信你可以看到,我不太了解这个概念的理论。 有人能澄清两者之间的分歧吗?

MySQL是关系数据库的一个例子 – 您可以使用ORM在代码中的对象与数据的关系表示之间进行转换。

ORM的例子是nHibernate, Entity Framework , Dapper等…

MongoDB是一个文档数据库的例子 – 您可以使用ODM在代码中的对象和数据的文档表示之间进行转换(如果需要的话)。

Mandango是MongoDB ODM的一个例子。

一个ORM映射在一个对象模型和一个关系数据库之间。 ODM映射在对象模型和文档数据库之间。 MySQL不是一个ORM,它是一个关系数据库,更具体地说是一个SQL数据库。 MongoDB不是ODM,它是一个文档数据库。

实际上,ORM使用ODBC,JDBC或OLEDB等SQL数据库驱动程序将对象表示法转换为关系表示法,ODM使用JSON或JSONB api将对象表示法转换为文档表示法。

引擎盖下有不同的实现。

PS:JSONB是以MongoDB使用的二进制格式存储的JSON文本文档记法。