我正在建立一个非常标准的电子商务网站。问题在于它还具有供公司员工使用的管理员门户。我已经决定使用Angular 8部署两个不同的前端应用程序,但是我不确定是否要使用一个或两个黑色的“项目”。为了节省资源,我决定将其分成两部分,这样我的客户api不必加载员工的东西,反之亦然。我的问题是,如何在这两个单独的项目中使Mongoose模式模型保持同步?这是个好主意/做法吗?我应该把它们放在一起吗?谢谢!
答案 0 :(得分:1)
我将回答这个问题。
为了节省资源,我决定将其分成两部分,这样我的客户api不必加载员工的东西,反之亦然。
如果您需要两个API分开,则可以简单地使用/ customer和/ employee路由。不需要两个后端服务器。
如果只需要加载特定字段,猫鼬允许Model.find通过投影包含特定字段。
您可以向模型添加方法,以帮助您添加其他查询。例如,使用findByIdAsEmployee添加一个投影以限制员工消费的字段。参见https://mongoosejs.com/docs/2.7.x/docs/methods-statics.html
如果绝对必要,则可以在同一后端的同一架构中使用2个模型。
2个后端通常比它们值得的麻烦更多。即使音量很高,也更容易通过更多相同的实例进行负载平衡。仅当您知道开销非常大时,才想拆分项目。在这种情况下,额外的代码和额外的路由基本上是免费的。