我在节点js中使用mongoose进行mongo db连接。有人能告诉我如何在node js中连接多个数据库吗?另外,请确保你自己也尝试过这种方法。谢谢。
编辑:我想动态连接到多个数据库。另外,我不想要多个模型,我只有一个项目,而不是各种子项目。
最佳答案
我相信您正在从主入口点index.js或server.js连接到MongoDB,在这里您正在启动路由器。这样地
`
const mongoose = require('mongoose')
// mongoose
mongoose.connect("mongoDB url");
const connection = mongoose.connection;
connection.on('open',()=>{
console.log(" database connected")
})
connection.on('error',()=>{
console.log("error in connecting to database")
})
app.use(morgan('dev'));
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
//middlewares`
同样,您还可以直接连接到不同的数据库模式。就像在我的用例中一样,我希望将用户存储在不同的数据库中,并将帖子存储在另一个数据库中。
在我的app.js中,我将作为普通连接(见上图)连接到主数据库,对于用户架构,我将连接到我的用户数据库。这样地
const mongoose = require('mongoose');
const connection = mongoose.createConnection("mongo url ");
const userSchema = mongoose.Schema({
name: String,
date_of_birth: Date
})
module.exports = mongoose.model('User', userSchema);
您也可以使用
mongoose.connect()
而不是mongoose.createConnection()
希望这对你有帮助。
关于node.js - 使用mongoose在node js中连接多个mongo db数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42918238/