这篇文章本应该在node.js连接数据库的时候就写的,但是由于时间混乱,所以导致在文章的发表中存在一些顺序不一致的问题,当然,这点对于新手来说可读性确实不会那么好,但是一般来说建议配合书本来学习才会比较好的掌握,光靠一部分的吸收是不够的,也不靠谱的。
首先,我们在连接数据库的时候会用到一个关于写入关注级别的问题,说白了,个人理解的话就是相当于出现问题的一个处理优先顺序,你可以选择写入数据库之前是否需要你确认之类的,或者发生错误是否忽略之类的等等,如下图:
写入级别 | 说明 |
-1 | 网络错误被忽略 |
0 | 写确认是不必要的 |
1 | 请求写确认 |
2 | 写确认请求跨主服务器和副本集中的一个辅助服务器 |
majority | 写确认是从副本集的主服务器请求的 |
而在创建MongoClient连接的server对象的选项如下:
选项 | 说明 |
readPrefernce | 指定从副本集读取对象时使用的读取首选项。设置读取首选项可以优化读取操作,如仅从辅助服务器读取以释放主服务器。下面这些都是可能的首选项:
ReadPreference.PRIMARY |
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,这是没有限制的 |
那么以上就是一些选项,原创作品,未经允许均不可转载。
评论前必须登录!
注册