在mongo/mongoose中同时连接多个数据库,可以通过以下步骤实现:
npm install mongodb mongoose
mongoose.connect()
方法连接到MongoDB数据库。该方法接受一个连接字符串作为参数,该字符串包含了数据库的地址和名称。const mongoose = require('mongoose');
// 连接数据库1
mongoose.connect('mongodb://localhost/db1', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('Connected to db1'))
.catch(err => console.error('Error connecting to db1:', err));
// 连接数据库2
mongoose.connect('mongodb://localhost/db2', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('Connected to db2'))
.catch(err => console.error('Error connecting to db2:', err));
在上面的示例中,我们通过调用mongoose.connect()
方法两次来连接两个不同的数据库。连接字符串中的mongodb://localhost/db1
表示连接到本地主机上名为db1
的数据库,mongodb://localhost/db2
表示连接到本地主机上名为db2
的数据库。
mongoose.Schema
来定义模式,并使用mongoose.model
来创建模型。const mongoose = require('mongoose');
// 定义模式
const userSchema = new mongoose.Schema({
name: String,
age: Number
});
// 创建模型
const User1 = mongoose.model('User1', userSchema, 'collection1');
const User2 = mongoose.model('User2', userSchema, 'collection2');
在上面的示例中,我们定义了一个名为userSchema
的模式,并使用mongoose.model
方法创建了两个模型User1
和User2
,分别与collection1
和collection2
关联。
const User1 = require('./models/User1');
const User2 = require('./models/User2');
// 在数据库1中创建新用户
const user1 = new User1({ name: 'John', age: 25 });
user1.save()
.then(() => console.log('User1 created:', user1))
.catch(err => console.error('Error creating User1:', err));
// 在数据库2中创建新用户
const user2 = new User2({ name: 'Jane', age: 30 });
user2.save()
.then(() => console.log('User2 created:', user2))
.catch(err => console.error('Error creating User2:', err));
在上面的示例中,我们通过引入模型User1
和User2
,并创建新的用户对象来向两个不同的数据库插入数据。
这样,我们就可以在mongo/mongoose中同时连接多个数据库了。每个数据库都可以有自己的模型和模式,可以独立进行数据库操作。
领取专属 10元无门槛券
手把手带您无忧上云