Solo  当前访客:1 开始使用

mongoose 连接mongodb


1. mongodb 链接地址格式

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb://   表示协议相关
host:port   需要提供至少一组 (port 默认为27017)
database   对应的数据库名称
options  链接参数
replicaSet=name 验证replica set的名称。 Impliesconnect=replicaSet.
slaveOk=true|false
  • true:在connect=direct模式下,驱动会连接第一台机器,即使这台服务器不是主。在connect=replicaSet模式下,驱动会发送所有的写请求到主并且把读取操作分布在其他从服务器。
  • false: 在 connect=direct模式下,驱动会自动找寻主服务器. 在connect=replicaSet 模式下,驱动仅仅连接主服务器,并且所有的读写命令都连接到主服务器。
safe=true|false
  • true: 在执行更新操作之后,驱动都会发送getLastError命令来确保更新成功。(还要参考 wtimeoutMS).
false: 在每次更新之后,驱动不会发送getLastError来确保更新成功。
w=n 驱动添加 { w : n } 到getLastError命令. 应用于safe=true。
wtimeoutMS=ms 驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于 safe=true.
fsync=true|false
  • true: 驱动添加 { fsync : true } 到 getlasterror 命令.应用于 safe=true.
  • false: 驱动不会添加到getLastError命令中。
journal=true|false 如果设置为 true, 同步到 journal (在提交到数据库前写入到实体中). 应用于 safe=true
connectTimeoutMS=ms 可以打开连接的时间。
socketTimeoutMS=ms 发送和接受sockets的时间。

 

2. mongoose 连接replicaSet

基于1的链接格式

url为 mongodb://127.0.0.1:27016,127.0.0.1:27015,127.0.0.1:27014/test?w=majority&replicaSet=[your replicaset's name]

链接操作:

mongoose.connect(url)
var db = mongoose.connection;
db.on('error', function(e) {
    logger.error("connect fail" )
});
db.once('open', function() {
    // we're connected!
logger.info('mongodb load success...');
    if(typeof callback === 'function'){
        callback.call(db)
    }
});



标题:mongoose 连接mongodb
作者:hugh0524
地址:https://blog.uproject.cn/articles/2018/12/03/1543818131615.html

, , , 0 0