动态切换数据库

时间:2017-12-18 02:16:15

标签: node.js database mongodb

我正在做一个POS(销售点)作为Saas,在前端使用React,在后端使用NodeJs(API Rest),使用MongoDB作为数据库。

我已经完成了一个基本程序,现在我希望任何注册的用户都有自己的数据库。

在互联网上阅读了一些文章和问题后,我的结论是每次前端消耗后端(API)时都在数据库之间切换。

一般逻辑:

  1. 用户登录
  2. 在后端,我使用通用数据库检查用户凭据,并获取该用户的数据库名称。
  3. 每次前端使用API​​时,下一个代码都会在中间件中执行,以了解应该使用API​​的数据库:
  4. var dbUser = db.useDb('nameDataBaseUser');
    var Product = dbUser.model('Product', ProductSquema);
    

    我在代码中修改了模式和变量'db':

    var db = mongoose.createConnection('mongodb://localhost');

    问题:

    我不知道对于我想要做的是否是正确的解决方案,但是每次调用API时都会不断生成模型,因为在某些API中(即在某些中间件中,我有效)直到4种不同型号)

    问题:

    这是最好的方法吗?或任何有关此问题的建议?

1 个答案:

答案 0 :(得分:0)

不确定为每个新用户创建新数据库的想法。这似乎会造成很多复杂性并使其难以维护,并且使得难以访问数据以进行分析等等。为什么不为每个新用户使用新的收藏?这样您就可以只使用一组数据库访问凭据。此外,Creating a new collection happens会自动为您存储数据。