You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js使用Mongoose连接MongoDB时报useCreateIndex不支持错误如何解决

错误原因
  • 你当前使用的Mongoose版本为6.x及更高版本,该版本已经默认启用了useCreateIndex、useNewUrlParser等旧版本需要手动配置的兼容参数,高版本MongoDB驱动不再支持手动传入这些已废弃的参数,因此触发参数不支持的解析错误。
  • mongoose.connect()是异步方法,返回Promise实例,你的代码没有添加catch回调捕获连接失败的异常,因此同时触发了未处理Promise拒绝的警告。
解决方案
  1. 修改mongoose.connect的调用参数,移除所有废弃的配置项,同时可添加异常捕获逻辑消除Promise拒绝警告,修改后的代码示例如下:
const express = require('express'); 
const cors = require('cors'); 
const mongoose = require('mongoose'); 
require('dotenv').config(); 
const app = express(); 
const port = process.env.PORT || 6000; 
app.use(cors()); 
app.use(express.json()); 

const uri = process.env.ATLAS_URI; 
// 移除废弃的useNewUrlParser、useCreateIndex参数,添加异常捕获
mongoose.connect(uri)
.catch(err => console.log("MongoDB连接失败:", err));

const connection = mongoose.connection; 
connection.once('open', () => { 
    console.log("MongoDB database connection established successfully"); 
}) 

app.listen(port, () => { console.log(`Server is running on port: ${port}`); });
  1. 修改完成后重启服务即可正常连接数据库。

内容的提问来源于stack exchange,提问作者jehangir khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:45:01