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

连接MongoDB Atlas时出现MongoParseError报错的求助

解决MongoParseError: option usecreateindex is not supported错误

问题原因

你用的Mongoose版本(基本是6.x及以上)已经默认开启了useCreateIndex功能,而且对应的MongoDB驱动不再支持这个配置项,所以连接时指定useCreateIndex: true就会触发这个报错。

修复步骤

  1. 删除不支持的连接参数
    把mongoose.connect配置里的useCreateIndex: true删掉。另外,Mongoose 6+版本里useNewUrlParser也是默认启用的,也可以一起移除,简化连接代码。

  2. 修正模板字符串语法错误
    你写的console.log('Server is running on port: ${port}')用了单引号,没法解析模板变量,得改成反引号`才能正常显示实际端口号。

  3. 补充缺失的依赖导入
    你的代码里调用了express()但没导入express模块,得补上const express = require('express');,不然会触发未定义错误。

修改后的完整代码

const cors = require('cors');
const mongoose = require('mongoose');
const express = require('express');

require('dotenv').config();

const app = express();
const port = process.env.PORT || 5000;

app.use(cors());
app.use(express.json());

const uri = process.env.ATLAS_URI;
// 简化连接配置,移除不支持的选项
mongoose.connect(uri);

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}`);
}); 

process.on('warning', e => console.warn(e.stack));

额外提示

  • 如果需要兼容旧版Mongoose,或者有其他特殊配置,可以保留useNewUrlParser: true,但必须删掉useCreateIndex: true。
  • 确认.env文件里的ATLAS_URI已经正确配置了MongoDB Atlas的连接字符串。

内容的提问来源于stack exchange,提问作者Abdul Moiz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:48:46