动态切换数据库
我正在做一个POS(销售点),作为Saas,前端有React,后端(API Rest)和MongoDB中的NodeJs作为数据库。动态切换数据库
我已经完成了一个基本程序,现在我想要任何用户注册都会有他自己的数据库。
在互联网上阅读了一些文章和问题后,我的结论是在每次前端消耗后端(API)时在数据库之间切换。
一般逻辑:
- 用户登录
- 在后台,我使用的是一般的数据库来检查用户凭据,也是我获取该用户的数据库的名称。
- 每次前端消耗的下一个代码在中间件知道数据库应该使用API执行的API:
var dbUser = db.useDb('nameDataBaseUser'); var Product = dbUser.model('Product', ProductSquema);
我的模式和变量“DB”定义的固定在代码:
var db = mongoose.createConnection('mongodb://localhost');
问题:
我不知道是否正确的解决方案是关于我正在尝试做什么,但似乎我效率不高,每次调用API时都会不断生成模型,因为在某些API中(即在某些中间件中,不同型号)
问:
这是最好的办法吗?或任何建议来面对这个问题?
回答:
不确定为每个新用户创建新数据库的想法。这似乎造成了很多复杂性,并且难以维护,并且使得以后难以访问分析数据等。为什么不为每个新用户使用一个新集合?这样,您只能使用一组数据库访问凭据。此外,Creating a new collection happens会在您为其存储数据时自动执行。
以上是 动态切换数据库 的全部内容, 来源链接: utcz.com/qa/260504.html