我在节点js中使用mongoose进行mongo db连接。任何人都可以告诉我如何连接节点js中的多个数据库。另外请确保您自己尝试过这种方法。感谢。
编辑:我想动态连接到多个DB。此外,我不想要多个模型,我只有一个项目,而不是各种子项目。
答案 0 :(得分:2)
我相信您是从主入口连接到作为启动路由器的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()
希望这对您有所帮助。