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

Express JS与MongoDB连接失败求助(含代码及错误日志)

解决Mongoose连接本地MongoDB的两个问题:弃用警告与连接拒绝

一、处理MONGODB DRIVER弃用警告

你代码里设置的useNewUrlParser和useUnifiedTopology选项,在MongoDB Node.js驱动4.0.0及以上版本已经默认启用且不再生效,因此会抛出弃用警告。解决方法直接删除这两个配置项即可。

二、解决MongooseServerSelectionError: connect ECONNREFUSED ::1:27017连接错误

这个错误表示Node.js程序无法连接到本地MongoDB服务,常见原因和解决步骤如下:

  • 检查MongoDB服务是否启动
    Windows用户按下Win+R输入services.msc打开服务面板,找到MongoDB服务,确保它处于「正在运行」状态;未启动则右键选择「启动」。
    macOS/Linux用户可通过命令行启动,比如brew services start mongodb-community(Homebrew安装的情况),或直接运行mongod命令(需配置环境变量或指定数据目录)。

  • 替换localhost为127.0.0.1
    部分环境下localhost会解析到IPv6地址::1,但MongoDB默认可能仅监听IPv4。将连接字符串改为mongodb://127.0.0.1:27017/myDatabase,强制使用IPv4连接。

  • 确认端口号正确
    确保MongoDB使用默认端口27017,若修改过MongoDB配置文件,需同步修改连接字符串里的端口号。

  • 检查防火墙设置
    确认本地防火墙未阻止Node.js访问27017端口,必要时临时关闭防火墙测试连接。

修复后的完整代码

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

app.listen(3000, () => {
    console.log("Server is running at port number 3000");
})

const mongoose = require("mongoose");

// 去掉弃用选项,替换localhost为127.0.0.1
mongoose.connect("mongodb://127.0.0.1:27017/myDatabase")
.then(() => {console.log("Connection is Succeed")})
.catch((e) => { console.error("Received an Error", e); });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:11:01