You need to enable JavaScript to run this app. Nodemon运行后端时MongoDB连接被拒且用户路由报Cannot GET错误
优惠活动
大模型
产品
解决方案
定价
更多

Nodemon运行后端时MongoDB连接被拒且用户路由报Cannot GET错误

问题根因与解决步骤

1. MongoDB连接被拒的核心原因

所有抛出的connect ECONNREFUSED 127.0.0.1:27017报错,不管来自后端服务还是Mongo Compass,本质都是本地没有运行处于27017端口监听状态的MongoDB服务。
MongoDB默认监听端口固定为27017,连接被拒代表该端口上没有可连通的数据库服务进程。

  • 对应解决操作:
    • 检查本地MongoDB安装状态,未安装则先完成本地部署
    • 启动MongoDB系统服务,确认服务正常监听27017端口
    • 优化mongoose连接逻辑的异常捕获:现有代码中mongoose.connect返回的Promise没有绑定异常监听,只要连接环节出错就会触发未处理Promise警告,可在连接初始化后绑定error事件监听器,直接输出连接异常的具体日志,避免无意义的弃用警告刷屏

2. 路由访问报Cannot GET的原因

  • 访问/api/users/根路径返回Cannot GET是符合代码逻辑的正常现象:
    代码已将userRouter挂载到/api/users路径下,但userRouter内部仅定义了/seed子路径的GET接口,没有定义匹配/api/users根路径的处理函数,Express匹配不到对应路由时,就会默认返回Cannot GET提示。
  • 产品路由可正常访问的原因:
    所有产品相关接口完全没有依赖MongoDB连接,数据全部从本地静态的data.js文件读取,哪怕数据库完全不可用,这部分接口也能正常返回静态数据,和依赖数据库能力的用户路由形成了明显反差。
  • 排除数据库未启动的问题后,若仍出现访问/api/users/seed报404的情况,可检查userRouter的导入路径是否和实际文件位置匹配,确认路由挂载逻辑正确。等MongoDB服务正常启动后,访问/api/users/seed路径即可正常执行用户种子数据写入逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 12:24:04