mongoose 连接 MongoDB

多个连接 

const test = async () => {
    try {
        const UserScheme = mongoose.Schema({
            id: String,
            name: String
        })

        const connection1 = new mongoose.createConnection("mongodb://localhost:27018/test1")
        const connection2 = new mongoose.createConnection("mongodb://localhost:27018/test2")

        const UserModel1 = connection1.model("users", UserScheme, "users")
        const UserModel2 = connection2.model("users", UserScheme, "users")

        await UserModel1.create({ id:"1", name: "张三"})
        await UserModel2.create({ id:"1", name: "张三"})


    } catch (error) {
        console.log(error);
    }
}

test()

 

副本集连接

const mongoose = require('mongoose');
const username = encodeURIComponent('admin'); // 特殊字符需转义
const password = encodeURIComponent('pass@123');
const hosts = 'mongo1:27017,mongo2:27018,mongo3:27019'; // 副本集节点
const dbName = 'mydb';
const replicaSet = 'rs0';

const uri = `mongodb://${username}:${password}@${hosts}/${dbName}?replicaSet=${replicaSet}&authSource=admin`;

mongoose.connect(uri, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  readPreference: 'primary', // 默认读主节点
  maxPoolSize: 10 // 连接池大小
});

// 监听连接事件
mongoose.connection.on('connected', () => console.log('✅ 已连接副本集主节点'));
mongoose.connection.on('error', (err) => console.error('❌ 连接失败:', err));
mongoose.connection.on('disconnected', () => console.log('⚠️ 连接断开'));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值