【问题标题】:Why use mongoose in mean stack?为什么在平均堆栈中使用猫鼬?
【发布时间】:2017-02-14 17:49:04
【问题描述】:

我在使用平均堆栈的上下文中将此作为一个特定问题提出。(这可能是一个幼稚的问题,因为我是平均堆栈的新手)我已经看到使用 mongoose 将 mongodb 映射到对象的示例。 我想知道这样做的好处。

在我的理解中,将一个 json 块保存到 mongodb 中而不用担心数据的架构是有好处的。然后你有你的 Angular 客户端应用程序(单点)来定义和使用数据对象。在我看来,这已经是一个有效/不错的应用程序。

那么为什么要使用猫鼬方法呢?不是有冲突吗?您的客户端已经知道数据模型以便将其呈现给用户,为什么要在服务器(express)端再次定义它(猫鼬对象映射)?

【问题讨论】:

标签: angularjs mongoose mean-stack


【解决方案1】:

我没有正确理解你的问题,但我希望这会有所帮助, Mongoose 是 @Wasiq 正确指出的 ODM,因为它提供了 Nodejs(后端)和数据库(MongoDB)之间的中间件。我们为什么用它?

1) 原因之一是:它定义了模式(集合中的文档结构和模型用于创建将存储在文档中的数据实例)。由于 MongoDB 是 NOSQL,因此它是无模式的。对于来自传统数据库的开发者来说,这是一个很大的帮助。

2) Mongoose for MongoDB 的最佳之处在于,您可以对正在插入/更新的数据进行内置的自动验证。

或者您也可以使用 Node Driver 来编写查询,这样您就无需担心架构发生变化。

【讨论】:

    【解决方案2】:

    Mongoose 是一个支持NodeJsObject Data Modeling,我们通过它连接到mongodb。在服务器端,您希望以更有条理和结构化的方式查询mongo。与原生 mongo 驱动程序相比,Mongose 具有限制数据冗余的模式和模型,有很多 ODM 可用的使用可以使用不同的,例如 monketc。

    在 Angular 中,我们让服务与我们的服务器通信,它不关心数据模型,因为我们知道 requestresponse 将接收。

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2015-09-17
      • 2015-01-04
      • 2018-07-13
      相关资源
      最近更新 更多