如何根据登录名在Express.js中动态分配数据库路径?

时间:2017-04-04 14:29:48

标签: javascript node.js express

我有一个后端服务,我想将其用作我的Web应用程序的单一入口点,并根据用户登录动态分配数据库路径。 我意识到这不是一个可扩展的解决方案。我打算在测试期间使用它与几个客户端(访问ALPHA数据库),以及设置演示(访问SAND数据库)。 我有以下模块,我作为一个简单的测试编写,以查看登录是否为演示用户,所有其他登录将转到其他资源:

config.js

var express         = require('express');
var app             = express();

module.exports.dbPath = function  (login){
    console.log('login - ', login);
    if (login === 'demo@mysite.com'){
        return process.env.DB_SAND;
    } else {
        return process.env.DB_ALPHA;
    }
};

我的问题是,如何管理每个唯一的登录并为该会话分配一个全局可访问的引用,以便将每个用户会话一致地指向正确的数据库? 我是不是太复杂了?如果有一种不同的方法是更好的做法,我会欢迎另一个方向的建议。

1 个答案:

答案 0 :(得分:1)

我会将它用作中间件,并将其附加到每个用户的curl get.pow.cx/uninstall.sh | sh 对象,类似于此:

req