无法从已部署到Heroku的节点应用程序向MongoDB Atlas DB
发送请求。它在我的本地主机上运行良好,但是在生产中存在一些问题。
我将连接URI添加到了Heroku中的config vars中:
MONGODB_URI mongodb+srv://asd:asdasd@cluster0-rdame.mongodb.net/myDb?retryWrites=true&w=majority
const MongoClient = require("mongodb").MongoClient;
const client = await new MongoClient(process.env.MONGODB_URI,{ useNewUrlParser: true});
client.connect();
mongoose.connection.once('open', () => { console.log('MongoDB Connected'); });
mongoose.connection.on('error', (err) => { console.log('MongoDB connection error: ', err); });
当我执行一些get或post请求控制台时,会给我以下信息:
2019-08-08T08:32:02.811420 + 00:00 heroku [router]:at =错误代码= H12 desc =“请求超时”方法=获取路径=“ /分支”主机= mighty-sierra-48879。 herokuapp.com request_id = 0b3c6788-644b-4d9c-87ac-49edee07ba1c fwd =“ 109.75.35.153” dyno = web.1 connect = 1ms service = 30000ms stat us = 503字节= 0协议= https
答案 0 :(得分:0)
好的,我找到了解决方案。 它没有连接到db,因为我的代码错误
我写
GenericForeignKey
而不是:
mongoose.connect(process.env.MONGODB_URI, {useNewUrlParser: true});
const conn = mongoose.connection;
mongoose.connection.once('open', () => { console.log('MongoDB Connected'); });
mongoose.connection.on('error', (err) => { console.log('MongoDB connection error: ', err); });
一切正常