【发布时间】:2018-07-19 00:46:02
【问题描述】:
我正在开展一个项目,该项目要求每个注册用户都有一个专用数据库。我更喜欢使用 MongoDB,所以我将它用于相同的(我对吗?)。该应用程序使用 REST API 作为后端(用 Node Express 编写)和一个 AngularJS 应用程序。所以,我想做的是每当用户向某个 API 端点发出请求,比如对api/user/mydata 的 GET 请求,我会创建一个到他的特定数据库的连接,获取所需的数据,关闭连接并返回获取的数据作为响应。 这种方法正确吗? 另外,我使用 Mongoose 作为 ODM 并使用 PassportJS 进行用户身份验证。此外,我的应用程序的用户是互斥的。用户与任何其他注册用户之间没有数据连接。
【问题讨论】:
-
为什么需要单独的数据库?您的目的可以通过在 1 个数据库中包含多个集合来解决。
-
不,我需要每个用户单独的数据库。我实际上正在创建一个股票管理应用程序。而且,我的用户就是我的客户。每个数据库将具有与特定数据库中特定用户的库存相关的数据,如已售库存、可用库存、已下订单、客户账单详细信息等。我希望你明白我的意思。
-
这些事情也可以在 1 个数据库中处理。
-
@bipin 也可以正常登录使用。检查它的文档,你会自己知道。真的很棒。另外,请对问题帖子进行投票。谢谢。 :)
-
@bipin 哦,对不起。实际上,您必须为用户身份验证创建一个专用的身份验证数据库,其中包含他们的身份验证凭据和他们所属的数据库的名称。初始化护照时,您必须连接到此全局数据库。
标签: node.js mongodb mongoose socket.io database-connection