为啥有 Mongoose 模型而不仅仅是模式/文档? [复制]
Posted
技术标签:
【中文标题】为啥有 Mongoose 模型而不仅仅是模式/文档? [复制]【英文标题】:Why Has Mongoose Models Instead Of Just Schema/Documents? [duplicate]为什么有 Mongoose 模型而不仅仅是模式/文档? [复制] 【发布时间】:2014-05-19 23:23:11 【问题描述】:我很惊讶这个问题以前没有被问过,让我有点担心我自己理解事情如何运作的能力......
在面向对象编程中,我们首先定义抽象,类,然后基于抽象实例化许多具体的对象。
为什么我们需要用 Mongoose 定义 Schema 和 Model ?这两个步骤不是一回事吗?
【问题讨论】:
之前有人问过;) 【参考方案1】:原因很简单,“模型”和“模式”是两个完全不同的东西。
“模式”定义了类型约束和其他逻辑,而不是您希望如何“定义”对象。有很多方法可以做到这一点,包括基本类型规则,一直到定义某些验证方法,甚至是动态字段构造。 Schema 基本上是对象的扩展定义。
“模型”实际上是与存储“联系”的东西。这意味着在“哪里”中定义了一些东西来实际存储信息。用于与存储交互的“方法”通常也与模型相关联。所以你可以根据模型关联save
,或find
或delete
。因此,“模式”可以“绑定”到各种“模型”,因为模型完全与存储位置有关。
因此,在基本的猫鼬意义上,“模式”不一定与“模型”建立“一对一”关系。一个模式可以有许多模型,因此进行了分离。
【讨论】:
以上是关于为啥有 Mongoose 模型而不仅仅是模式/文档? [复制]的主要内容,如果未能解决你的问题,请参考以下文章