Mongoose连接MongoDB出现useNewUrlParser等废弃选项警告的解决方法
解决Mongoose连接MongoDB时的过时选项警告
问题原因
从Mongoose 6.x版本开始,useNewUrlParser和useUnifiedTopology这两个配置项已经默认启用,手动添加这两个参数就会触发过时警告。哪怕你安装了低于4.0的MongoDB驱动,只要Mongoose版本是6+,就会出现这个问题。
解决步骤
检查Mongoose版本:
在终端运行命令查看当前安装的Mongoose版本:npm list mongoose(用yarn的话就运行
yarn list mongoose)如果是Mongoose 6.x及以上版本:
直接删除连接配置里的useNewUrlParser和useUnifiedTopology选项,修改后的代码如下:const connectDB = async () => { try { const conn = await mongoose.connect(process.env.MONGO_URI); console.log(`MongoDB已连接: ${conn.connection.host}`); } catch (error) { console.error('MongoDB连接失败:', error); process.exit(1); } };如果需要保留旧版Mongoose(比如5.x):
若你坚持用Mongoose 5.x,但仍出现警告,大概率是Mongoose和MongoDB驱动版本不兼容。需要安装匹配的版本:- 安装指定版本的Mongoose:
npm install mongoose@5.13 - 安装对应版本的MongoDB驱动:
npm install mongodb@3.7
这样就能解决版本不兼容导致的警告问题。
- 安装指定版本的Mongoose:
内容的提问来源于stack exchange,提问作者Anantha krishnan
相关产品推荐
相关产品推荐

