问题描述
我正在尝试通过 mongoose 在 fastify 中使用多个数据库连接。
const mongoose = require('mongoose');
const fastifyPlugin = require('fastify-plugin')
mongoose.Promise = Promise; // Set mongoose to use ES6 Promises.
const reconnectTimeout = 5000; // ms.
const db = mongoose.connection;
async function dbConnector1(fastify,options) {
const conn1 = mongoose.connect("mongodb://localhost/db1",{
useNewUrlParser: true,useUnifiedTopology: true,retryWrites: false
})
.then(() => console.log( 'Connection to DB1 successful'))
.catch((err) => console.error(err));
};
module.exports = fastifyPlugin(dbConnector1,{
name: 'DB1'
})
我已经把上面的代码放在了 conn1.js 我在 conn2.js 和 index.js 中与不同的 db 创建了类似的连接,我正在按如下方式注册 db 插件
await fastify.register(require('./src/db/conn1'))
await fastify.register(require('./src/db/conn2'))
我收到以下错误 -
MongooseError:无法在具有不同连接字符串的活动连接上调用 openUri()
。确保您没有多次调用 mongoose.connect()
。请参阅:https://mongoosejs.com/docs/connections.html#multiple_connections
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)