面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。

ORM方法论基于三个核心原则:

  • 传达性:数据库结构被任何人都能理解的语言文档化。

让我们从O/R开始。字母O起源于 对象(OBJECT),而R则来自于 关系(RELATIONAL)。几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中,我们是面向对象的。当对象信息发生变化的时候,我们需要把对象的信息保存在关系数据库中。

mongoose包括以下四部分:

  • 一个对持久类对象进行CRUD操作的API,可以理解为实体Entity上的方法
  • 一个规定MAPPING METADATA的工具,可以理解为Schema定义