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

Heroku部署应用出现数据库连接错误,mongoose.connect应填写什么连接URL

问题根源

你当前代码中填写的mongodb://localhost/Blog是本地开发环境下的MongoDB连接地址,应用部署到Heroku后,Heroku服务器上没有运行对应的本地MongoDB实例,自然无法建立连接,导致报错。

正确配置步骤
  • 首先准备可公网访问的MongoDB服务,可选择MongoDB Atlas免费集群,创建完成后获取对应连接字符串,格式为mongodb+srv://<数据库用户名>:<数据库密码>@<集群标识>.mongodb.net/<数据库名>?<可选参数>,数据库名可直接填写你原项目使用的Blog
  • 不要将数据库连接字符串硬编码到代码中,登录Heroku后台进入对应应用的「设置」页面,找到「配置变量」模块,新增变量名为MONGODB_URI,变量值填写你刚才获取的MongoDB连接字符串
  • 修改数据库连接代码,适配生产/开发双环境,修改后的参考代码如下:
var mongoose = require("mongoose");

// 生产环境读取Heroku配置变量的连接地址,本地开发默认走本地MongoDB
const mongoConnectUri = process.env.MONGODB_URI || "mongodb://localhost/Blog";
mongoose.connect(mongoConnectUri);

var database = mongoose.connection;

database.on(
  "error",
  console.error.bind(console, "Error connecting to the database")
);

database.once("open", () =>
  console.log("Successfully connected to the database")
);

module.exports = database;
  • 将修改后的代码重新部署到Heroku,运行heroku logs --tail即可验证数据库连接状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:15:02