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

MongoDB 6.0.8本地连接失败求助(附Node.js代码)

问题排查与解决方案

1. 先修复代码中的语法错误

你的代码存在两处语法问题,会直接导致连接逻辑失效:

  • 注释格式错误:DB CONNECTION */ 和 PORT 3000 */ 是不完整的注释,需改为 /* DB CONNECTION */ 和 /* PORT 3000 */
  • if (!err) 代码块缺少闭合的 },引发语法报错

修复后的基础代码:

const express = require("express");
const app = express();
const mongoose = require("mongoose");

/* DB CONNECTION */
mongoose.connect(
  "mongodb://localhost:27017/day1",
  {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  },
  (err) => {
    if (!err) {
      console.log("Connected To DB!");
    } else {
      console.log("Not Connected to db");
    }
  }
);

/* PORT 3000 */
app.listen(3000, () => {
  console.log("Port 3000");
});

2. 适配MongoDB 6.0.8的连接配置

MongoDB 6.0+ 对应新版本mongoose(推荐6.x及以上版本),旧配置项 useNewUrlParser 和 useUnifiedTopology 已默认启用,无需手动声明。同时新版本更推荐用异步/await或Promise方式处理连接,方便排查具体错误:

推荐的现代连接方式

const express = require("express");
const app = express();
const mongoose = require("mongoose");

/* DB CONNECTION - 异步方式 */
async function connectDB() {
  try {
    await mongoose.connect("mongodb://localhost:27017/day1");
    console.log("Connected To DB!");
  } catch (err) {
    // 打印具体错误信息,精准定位问题
    console.error("DB连接失败:", err.message);
    process.exit(1); // 连接失败时退出进程
  }
}

connectDB();

/* PORT 3000 */
app.listen(3000, () => {
  console.log("Server running on port 3000");
});

3. 额外排查项

若修复后仍无法连接,检查以下内容:

  • 确认本地MongoDB服务已启动:
    • Windows:打开服务管理器,找到MongoDB服务并启动
    • macOS/Linux:执行 mongod 或 sudo systemctl start mongod 启动服务
  • 检查默认端口27017是否被占用:Windows用 netstat -ano | findstr :27017,macOS/Linux用 lsof -i :27017 查看占用情况
  • 确认mongoose版本与MongoDB兼容:MongoDB 6.0.x 建议搭配mongoose 6.x或7.x版本,执行 npm list mongoose 查看当前版本,版本过低则运行 npm install mongoose@latest 升级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:32:23