mongoose连接MongoDB时useNewUrlParser和useUnifiedTopology的作用是什么
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true, useUnifiedTopology: true});
useNewUrlParser 参数作用
- MongoDB 旧版 Node.js 驱动内置的 URL 解析器存在较多缺陷,无法兼容含特殊字符的连接字符串,对副本集、带认证信息的连接地址解析准确率低,运行时还会抛出弃用警告。
- 设为
true后会启用驱动新开发的 URL 解析器,彻底解决上述解析问题,同时消除对应的弃用提示。
useUnifiedTopology 参数作用
- 该参数用于启用 MongoDB 驱动新的统一拓扑管理引擎,替换原本已经废弃的旧拓扑层实现。
- 旧拓扑层存在连接池管理异常、自动重连逻辑失效、对副本集/分片集群的状态感知不灵敏等问题,启用新引擎后会大幅提升连接稳定性,同时消除对应弃用警告。
补充说明:在 Mongoose 6.0 及之后的版本中,上述两个参数的默认值已经改为
true,无需再在连接配置中手动声明。
内容的提问来源于stack exchange,提问作者Santosh Padavala
相关产品推荐
相关产品推荐

