首页 > 解决方案 > 全球猫鼬模型

问题描述

我正在尝试设计具有许多服务器的大型应用程序的后端。应该只有一个数据库(mongodb),并且所有服务器都应该连接到它。我还想以一种所有服务器都可以查询数据库中任何内容的方式设计后端。例如考虑User模型。如果我有支付服务,它将需要查找有关用户的信息,身份验证服务等也需要。在 mongo(或在我的情况下为 mongoose)中执行此操作是将我的所有模型放在所有服务器都可以的地方看。

我想到的一个可能的解决方案是在 npm 上公开我的所有模型,然后我可以在每个服务器中要求它们,但这似乎不是一个很好的解决方案。我可以按照最佳实践采取哪些其他替代方案?

标签: node.jsmongodbmongoose

解决方案


在数据库级别共享域逻辑和耦合服务可能对您来说是个坏主意,但是,如果您有坚定的信念走这条路,您可以将代码存储在单一存储库中,并在多个应用程序中引导域模型入口点。

如果您想将它们打包为私有 npm 的独立模块,您可以考虑使用 lerna 进行包管理。


推荐阅读