个人博客
专注IT梦想的地方

Node.js连接到MongoDB数据库时的一些选项

这篇文章本应该在node.js连接数据库的时候就写的,但是由于时间混乱,所以导致在文章的发表中存在一些顺序不一致的问题,当然,这点对于新手来说可读性确实不会那么好,但是一般来说建议配合书本来学习才会比较好的掌握,光靠一部分的吸收是不够的,也不靠谱的。

首先,我们在连接数据库的时候会用到一个关于写入关注级别的问题,说白了,个人理解的话就是相当于出现问题的一个处理优先顺序,你可以选择写入数据库之前是否需要你确认之类的,或者发生错误是否忽略之类的等等,如下图:

写入级别 说明
-1 网络错误被忽略
0 写确认是不必要的
1 请求写确认
2 写确认请求跨主服务器和副本集中的一个辅助服务器
majority 写确认是从副本集的主服务器请求的

而在创建MongoClient连接的server对象的选项如下:

选项 说明
readPrefernce 指定从副本集读取对象时使用的读取首选项。设置读取首选项可以优化读取操作,如仅从辅助服务器读取以释放主服务器。下面这些都是可能的首选项:

ReadPreference.PRIMARY
ReadPreference.PRIMARY_PREFERRED
ReadPreference.SECONDARY
ReadPreference.SECONDARY_PREFERRED
ReadPreference.NEAREST

ssl 是一个布尔值,当设置为true时,表示该连接使用ssl。Mongod也需要使用SSL配置。如果你使用的是SSL,则还可以指定sslCA、sslCert、sslKey和sslPass选项来设置SSL证书颁发机构、证书、密钥和密码
poolSize 指定在服务器连接池使用的连接数量。默认值是5,这iweizhe可以有多达5个由MongoClient共享的连接连到该数据库
socketOptions 定义套接字创建选项,如下所示。
noDelay:布尔值,指定无延迟套接字
keepAlive:指定套接字保持活动的时间
connectTimeoutMS:指定连接在超时之前等待的时间量,以毫秒为单位
socketTimeoutMS:指定套接字在超时之前等待的时间量,以毫秒为单位
auto_reconnect 是一个布尔值,当设置为true时,表示该客户端在遇到错误时将尝试重新连接

 

用来创建MongoClient连接的数据库连接选项,如下:

选项 说明
w 指定数据库连接的写入关注的级别。参考本页最上面的写入关注级别
wtimeout 指定等待写入关注结束的时间量,以毫秒为单位。这个值被加到正常连接的超时值上
fsync 一个布尔值,当设置为true时,让写请求在返回前等待fsync完成
journal 一个布尔值,当设置为true时,让写请求在返回前等待日志同步完成
retryMilliSeconds 指定重试连接时等待的毫秒数。默认值是5000
numberOfRetries 指定失败之前重试连接的次数。默认值是5
bufferMaxEntries 指定连接失败前将被缓冲等待连接操作的最大数量。默认值是-1,这是没有限制的

那么以上就是一些选项,原创作品,未经允许均不可转载。

赞(154) 打赏
未经允许,不得转载本站任何文章:智言个人博客 » Node.js连接到MongoDB数据库时的一些选项

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏