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

使用ts-node运行时Mongoose连接本地MongoDB出现超时错误如何解决?

解决思路

  • 优先修改MongoDB连接URI:将连接字符串中的localhost替换为127.0.0.1,即使用mongodb://127.0.0.1:27017/my-app尝试连接。
    该问题90%概率是Node.js+ts-node环境优先将localhost解析为IPv6地址::1,而brew安装的MongoDB默认仅监听IPv4的127.0.0.1地址,导致连接超时。
  • 校验运行环境一致性:分别执行ts-node -v、node -v以及which ts-node、which node,确认ts-node调用的Node.js版本和直接运行JS的Node.js版本一致,不同Node版本对DNS解析规则、MongoDB驱动的底层支持存在差异,很容易触发此类问题。
  • 排查tsconfig配置问题:使用最小简化的tsconfig配置做复现测试,示例配置如下:
    {
      "compilerOptions": {
        "target": "ES2020",
        "module": "CommonJS",
        "esModuleInterop": true,
        "skipLibCheck": true
      }
    }
    
    新建仅包含mongoose连接逻辑的测试TS文件,用上述配置运行,如果可以正常连接,逐项排查原有tsconfig的配置项即可定位问题。
  • 排查依赖版本冲突:删除node_modules目录和锁文件(package-lock.json/yarn.lock/pnpm-lock.yaml),重新安装所有依赖,确认mongoose、ts-node以及对应的类型包版本没有兼容问题。
  • 开启调试日志定位细节:运行时添加环境变量DEBUG=mongoose:*,执行命令为DEBUG=mongoose:* ts-node 入口文件.ts,查看详细的连接日志,确认地址解析、握手阶段的具体错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:15:04