我在使用均值堆栈的上下文中将此问作为一个特定问题。(这可能是天真的问题,因为我是Mean Stack的新手)我已经看到了使用mongoose将mongodb映射到对象的示例。 我想知道这样做的好处。
根据我的理解,将一小撮json保存到mongodb中有好处而不用担心数据的架构。然后你有你的Angular客户端应用程序(单点)来定义和使用数据对象。这在我看来已经是一个有效/好的应用程序。
为什么mongoose接近?这不是冲突吗?您的客户端已经知道数据模型,以便将其呈现给用户,为什么再次在服务器(快速)端再次定义它(mongoose对象映射)?
答案 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中,我们提供服务与我们的服务器进行通信,它不关心数据模型,因为我们知道将收到的request
和response
。