Node.js连接到MongoDB数据库时的一些选项
这篇文章本应该在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时,表示该客户端在遇到错误时将尝试重新连接 |
发表评论