我是传统的C#开发人员,过去我使用MVC和分层架构.我现在用NodeJs/Mongoose编写了一个应用程序,我对Mongoose的工作方式感到有些困惑.
在过去,我将我的模型定义为简单的POCO,将它们传递给层,我的存储库将完成我的所有数据访问.
使用Mongoose,数据访问发生在Model本身上.你可以调用.save(),声明静态和实例方法,例如myModel.findAllByX()等.虽然这对我来说是一个偏离,我可以看到一些专家和骗子.
我在这里错过了什么吗?有没有好的练习技巧,或者我应该保持简单,只是在我的Mongoose模型上声明一切而不是将它传递到另一层?
由于mongoose已经是数据库层的抽象,因此您应该完全按照您的怀疑进行操作,并直接在mongoose中构建模型抽象.
这就是Mongoose模型的系统static和method系统 - 这也是钩子系统的用途(pre-init,save等).
在大型应用程序中,我们通常最终只通过自定义静态和方法来访问我们的mongoose模型......从这个意义上说,你可以证明这些静态和方法实际上组成了你从MVC谈论的"单独层".
| 归档时间: |
|
| 查看次数: |
4202 次 |
| 最近记录: |