Conexão de banco de dados dinâmico ao mongodb ou mongoose a partir do nodejs

Estou tentando criar um aplicativo multilocatário (saas), em que cada cliente tem seu próprio banco de dados.

Minha situação é:

Criei um middleware que determinaria quem o cliente é baseado em um subdomínio e recuperaria as informações de conexão com o banco de dados do cliente a partir de um banco de dados geral. Não sei como estabelecer um objeto de conexão para este cliente para poder usar em meus controladores. E devo fazer isso no middleware ou em um controlador? E se estiver no modelo, como passo a cadeia de conexão e os parâmetros (eu poderia usar a sessão, mas não sei como acessar a sessão de dentro do modelo).

Como faço o seguinte?

Organização: onde eu crio a conexão db para o cliente dinamicamente?Injetar / passar parâmetros de conexão ao controlador ou modelo (onde é feita a definição da conexão)Após a conexão dinâmica, como faço para acessá-la globalmente para esse cliente?

Este é um exemplo do meu middleware e eu gostaria de criar uma conexão mangusto que gostaria de dinamizar (passe as informações de conexão do cliente):

function clientlistener() {
    return function (req, res, next) {
       console.dir('look at my sub domain  ' + req.subdomains[0]);
       // console.log(req.session.Client.name);

    if (req.session.Client && req.session.Client.name === req.subdomains[0]) {
          var options = session.Client.options;
          var url = session.Client.url
          var conn = mongoose.createConnection(url, options);
          next();
       }
    }
}

Como acesso esse objeto de conexão de dentro do controlador? Ou do modelo?

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion