[英]MongoDb Atlas not connecting to Heroku
我已將 MongoDb Atlas 中的所有 IP 0.0.0.0/0 列入白名單。
我在 Heroku 中設置了 MONGO_URI 配置變量(配置鍵是 MONGO_URI 並且值設置正確)。
這是我的 db.js 代碼
if (process.env.NODE_ENV !== 'production') { require('dotenv').config() }
const mongoose = require('mongoose')
const connectDB = async () => {
const db = process.env.MONGO_URI
try {
await mongoose.connect(db, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true
})
console.log('MongoDB Connected...')
} catch (err) {
console.error(err.message)
// Exit process with failure
process.exit(1)
}
}
module.exports = connectDB
任何人都知道這里的問題,否則我的應用程序可以完美運行,只是無法連接到數據庫。
默認情況下process.env.NODE_ENV
是 Heroku 上的production
,所以它不會使用 .env 文件,即使它在項目文件夾下。
在 Heroku 中添加MONGO_URI
和your mongodb connection string
鍵值對應該可以解決問題:
MONGO_URI
添加為 KEY 並將your connection string(no quote)
添加為 VALUE更新:我使用您的上述代碼創建了一個演示,並在將其連接到我的 git 存儲庫后按照上述步驟部署在 Heroku 上。 它工作正常。
您還可以通過單擊 Heroku 應用頁面(右上角)中的More
-> View logs
來檢查節點控制台。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.