【问题标题】:Dynamically passing dbName to mongoose.connect动态地将 dbName 传递给 mongoose.connect
【发布时间】:2021-06-23 14:15:15
【问题描述】:

对于 MEAN 应用程序,我需要根据登录用户传递 dbName。事件流程如下。

  1. 用户登录并使用特定于身份验证的 REST-API 进行身份验证。
  2. Auth-API 将包含 userSpecificDbName 的用户帐户数据返回给 Angular。
  3. 此后,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 angular mongoose


    【解决方案1】:

    当然可以这样做,但请记住,您需要根据请求打开和关闭连接才能做到这一点,这不是 Node.js 中的常规模式 通常您会连接到数据库一次,然后触发查询。但是在您的情况下,每次发送响应并重新连接并开始到数据库后,您都会断开连接。

    或者,您很可能按照以下答案中的建议进行 useDb 调用:

    switching database with mongoose

    这将帮助您切换数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2021-06-25
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多