在 Express.js 应用程序中打开多个 MongoDB 连接
Posted
技术标签:
【中文标题】在 Express.js 应用程序中打开多个 MongoDB 连接【英文标题】:Open Multiple MongoDB connections in Express.js App 【发布时间】:2021-05-10 07:15:30 【问题描述】:我的主文件 app.js 已连接到 userDB 我想添加第二个数据库postsDB
const mongoose = require("mongoose");
const app = express();
mongoose.set("useCreateIndex", true);
mongoose.set("useUnifiedTopology", true);
mongoose.connect("mongodb://localhost:27017/userDB", useNewUrlParser: true);
【问题讨论】:
在发布问题之前,我建议搜索堆栈溢出,以防之前被问过。这是一个可能重复的答案:***.com/questions/32906467/… 【参考方案1】:如果是同一台服务器的多个数据库,可以使用useDb
const userDb = mongoose.connection.useDb('userDB');
const postsDb = mongoose.connection.useDb('postsDB');
只有在你也有充分理由的情况下才这样做,更标准的方法是在同一个数据库中使用多个集合。
如果数据库位于不同的服务器中,您将需要完全使用不同的连接池,这是 mongoose 不支持开箱即用的。您可以使用标准的 mongodb 驱动程序或将您的应用程序拆分为不同的服务,每个服务都有自己的 mongoose 实例和自己的连接。不过,这在同一个 express 应用程序中是非常不寻常的。
【讨论】:
以上是关于在 Express.js 应用程序中打开多个 MongoDB 连接的主要内容,如果未能解决你的问题,请参考以下文章
使用 connect vhost 为多个 express.js 应用程序提供服务
firebase node.js/express.js 添加多个firebase函数