对于MEAN应用程序,我需要根据登录用户传递dbName。事件流程如下。
- 用户登录并使用特定于身份验证的REST-API进行身份验证
- Auth-API向Angular返回包括userSpecificDbName的用户帐户数据
- 此后,Angular对应用程序的主REST-API进行所有调用。在所有对API的调用中,传递帐户数据,API shd在app.js的以下语句中使用帐户数据中的dbName
mongoose.connect(uri, { dbName: <userSpecificDbName> })
.then( () => {
console.log('Connection to the Atlas Cluster is successful!')
})
.catch( (err) => console.error(err));
这可能吗?我该如何在app.js中传递数据呢?
当然可以做到这一点,但请记住,您需要根据每个请求打开和关闭连接才能做到这一步,这在Node.js中不是常规模式通常情况下,您会连接到数据库一次,然后激发查询。但在您的情况下,每次发送响应后都会断开连接,然后重新连接数据库。
或者,您也可以按照以下答案中的建议进行useDb调用:
用猫鼬交换数据库
这将帮助您切换数据库。