为什么在平均堆栈中使用mongoose?

时间:2016-10-06 05:36:26

标签: angularjs mongoose mean-stack

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

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

为什么mongoose接近?这不是冲突吗?您的客户端已经知道数据模型,以便将其呈现给用户,为什么再次在服务器(快速)端再次定义它(mongoose对象映射)?

2 个答案:

答案 0 :(得分:1)

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

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

2)关于MongoDB的Mongoose最好的事情是你可以对要插入/更新的数据进行内置的自动验证。

或者您可以使用节点驱动程序并交替编写查询,然后您无需担心架构是否发生更改。

答案 1 :(得分:0)

Mongoose是一个支持Object Data Modeling的{​​{1}},我们通过该NodeJs连接到mongodb.On服务器端,您希望以更有条理和更有条理的方式查询mongo。与原生mongo驱动程序相比,Mongose具有用于限制数据冗余的架构和模型,有许多ODM可用,可以使用不同的monk等。

在Angular中,我们提供服务与我们的服务器进行通信,它不关心数据模型,因为我们知道将收到的requestresponse