我可以在其他项目中重用 Mongoose Schema Models 并保持同步吗?
Can I reuse Mongoose Schema Models in other projects and keep them synchronized?
我正在建立一个非常标准的电子商务网站。问题是它还有一个供公司员工使用的管理员门户。我已决定使用 Angular 8 部署两个不同的前端应用程序,但我怀疑是否使用单个黑化 "project" 或两个。为了节省资源,我决定将其一分为二,这样我的客户 api 就不必加载员工资料,反之亦然。我的问题是,如何在这两个独立的项目中保持 Mongoose 模式模型同步?这是一个很好的 idea/practice 吗?我应该把它们放在一起吗?谢谢!
我来回答这个问题。
In order to save on resources I have decided to split it in two so my customer api doesn't have to load the employee stuff and vice versa.
- 您是否确定加载的资源足够重要以保证进行此优化。过早的优化是万恶之源。程序员的时间是最贵的。
如果您需要将两个 api 分开,您可以简单地使用 /customer 和 /employee 路由。无需两台后端服务器。
如果您只需要加载特定字段,mongoose 允许 Model.find 通过投影包含特定字段。
您可以向模型添加方法以帮助您添加其他查询。比如findByIdAsEmployee增加一个projection来限制员工消费的字段。参见 https://mongoosejs.com/docs/2.7.x/docs/methods-statics.html
如果绝对必要,您可以在同一后端使用来自同一架构的 2 个模型。
2 后端通常比它们的价值更麻烦。即使体积非常大,也更容易与更多相同的实例进行负载平衡。当您知道开销非常昂贵时,您才想拆分项目。在这种情况下,额外的代码和额外的路由基本上是免费的。
我正在建立一个非常标准的电子商务网站。问题是它还有一个供公司员工使用的管理员门户。我已决定使用 Angular 8 部署两个不同的前端应用程序,但我怀疑是否使用单个黑化 "project" 或两个。为了节省资源,我决定将其一分为二,这样我的客户 api 就不必加载员工资料,反之亦然。我的问题是,如何在这两个独立的项目中保持 Mongoose 模式模型同步?这是一个很好的 idea/practice 吗?我应该把它们放在一起吗?谢谢!
我来回答这个问题。
In order to save on resources I have decided to split it in two so my customer api doesn't have to load the employee stuff and vice versa.
- 您是否确定加载的资源足够重要以保证进行此优化。过早的优化是万恶之源。程序员的时间是最贵的。
如果您需要将两个 api 分开,您可以简单地使用 /customer 和 /employee 路由。无需两台后端服务器。
如果您只需要加载特定字段,mongoose 允许 Model.find 通过投影包含特定字段。
您可以向模型添加方法以帮助您添加其他查询。比如findByIdAsEmployee增加一个projection来限制员工消费的字段。参见 https://mongoosejs.com/docs/2.7.x/docs/methods-statics.html
如果绝对必要,您可以在同一后端使用来自同一架构的 2 个模型。
2 后端通常比它们的价值更麻烦。即使体积非常大,也更容易与更多相同的实例进行负载平衡。当您知道开销非常昂贵时,您才想拆分项目。在这种情况下,额外的代码和额外的路由基本上是免费的。