node.js - Node 应用程序中数据层的 Mongoose 最佳实践

标签 node.js data-access-layer mongoose

<分区>

使用 nodejs/express 和 mongoose 研究 nodejs 服务器堆栈

什么是最佳实践解决方案?
(1) 创建一个 mongoose 数据模型模块,然后使用模型对象
(2) 创建一个将在内部使用 Mongoose 模型的包装数据层模块

(1) 的优点
我真的很喜欢 mongoose 给我的 OOP 样式类,添加我自己的方法、我自己的 setter 和 getter,我可以添加验证和事件处理程序,并使用 DataModel 而无需在另一个模块中重新定义它。

(2) 的优点
我应该能够通过更简单的实现(测试等)来模拟数据层。 或根据需要切换数据库。

你怎么看?

最佳答案

我通常从最简单和最不复杂的选项开始,只有在真正需要时才转向更复杂的选项。所以在这种情况下,我总是从选项 1 开始,但还没有找到一个我希望从选项 2 开始的实例。如果我真的需要更改数据库,我会先完成工作,而不是预先做更多的工作我可能永远不需要。

请记住,这取决于项目的规模以及参与其中的人数。如果它是一个小团队(或只有您),通常不需要额外的抽象层。如果这是一个拥有大型团队的大型项目,我会花更长的时间来确定最佳架构以实现长期可维护性。

关于node.js - Node 应用程序中数据层的 Mongoose 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377641/

相关文章:

javascript - jade/pug 是否可以在 include 语句中使用变量?

asp.net-mvc - 不使用 Entity Framework 的 MVC 架构

php - 数据访问层和数据库抽象层的区别和重构数据库类

javascript - Bluebird promises - 嵌套与拒绝模式

node.js - AWS Lambda 可以与外部互联网服务通话吗?

javascript - 如何从函数中取出变量? - Node

javascript - 清除数组中一项的超时 - javascript

ios - 如何使用 Realm 编写更好的数据访问层

javascript - Mongoose 不返回记录

node.js - Mongoose 返回 [Object] 而不是实际的嵌入文档