【问题标题】:How can i deploy a Next.js app with Mongodb to heroku?如何将带有 Mongodb 的 Next.js 应用程序部署到 Heroku?
【发布时间】:2020-12-07 10:57:16
【问题描述】:

我一直在尝试将带有 mongoDb 的 Next.js 应用程序部署到 heroku 平台,但没有成功。它成功构建,没有任何错误,但由于某些原因,我的应用程序无法运行。我检查了我的 heroku 日志,发现了这个错误消息。

2020-08-17T21:09:10.846691+00:00 app[web.1]: FetchError: request to http://localhost:3000/api/notes/favicon.ico failed, reason: connect ECONNREFUSED 127.0.0.1:3000

主页会显示出来,我可以导航到不同的路线。但是没有显示应该来自 mongoDb 的数据。我无法执行任何 CRUD 操作。我在主页和控制台中收到 500 内部服务器错误

我对此问题进行了很多研究,但我无法提出解决方案。这是我与我的 mongoDb 建立连接的地方。我还在 heroku GUI 中添加了我的配置变量。

import mongoose from 'mongoose'

const connection = {}

const dbConnect = async () => {
if (connection.isConnected) {
  return
} 
 const db = await mongoose.connect(process.env.MONGO_URI, {
   dbName: process.env.DB_NAME,
   user: process.env.DB_USER,
   pass: process.env.DB_PASS,
   useNewUrlParser: true,
   useUnifiedTopology: true
 })

 connection.isConnected = db.connections[0].readyState
 console.log(connection.isConnected, 'Db connected')
}

export default dbConnect

请问我做错了什么?

【问题讨论】:

    标签: node.js reactjs mongodb heroku mongoose


    【解决方案1】:

    确保你更新你的连接链接到 mongodb URL,而不是你本地主机上的 mongodb...用你的 mongodb url 的链接更新 .env 文件中的 MONGO_URI 变量

    【讨论】:

      猜你喜欢
      • 2015-09-09
      • 2019-09-04
      • 2017-02-27
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 2020-12-06
      • 2021-12-08
      相关资源
      最近更新 更多