为什么Mongoose模型而不仅仅是模式/文档?

时间:2014-04-07 15:47:43

标签: node.js mongodb mongoose

我很惊讶这个问题以前没有被问过,让我有点担心我能够理解我自己的工作方式....

在面向对象编程中,我们首先定义抽象,类,然后基于抽象实例化许多具体对象。

为什么我们需要使用Mongoose定义Schema和Model?这两个步骤不一样吗?

1 个答案:

答案 0 :(得分:0)

简单的原因是"模型"和"架构"是两件完全不同的事情。

  • A"架构"定义类型约束和其他逻辑,而不是指你想要如何定义"一个东西。你有很多方法可以做到这一点,包括基本类型规则,直到定义某些验证方法,甚至动​​态场构建。 Schema基本上是对象的扩展定义。

  • A" model"实际上是一种“联系”的东西。存储。因为它意味着在&#34中定义了一些东西,其中"实际存储信息。 "方法"用于与存储交互的通常也与模型相关联。因此,基于模型关联,您可以savefinddelete。 A"架构"因此可以"捆绑"对于各种"型号",因为模型是关于存储位置的。

所以在基本的猫鼬意义上,"架构"并不是必然与“一对一”联系在一起的东西。与"模型"的关系。模式可以有许多模型,因此可以进行分离。