node.js - Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止

标签 node.js mongodb heroku mongoose

我在我的 node.js 网站中创建了一个帖子路由,允许用户申请工作。它在本地运行良好并连接到 mongodb atlas,但是当我将应用程序推送到 Heroku 并尝试提交工作申请表时,我的网站超时了。我对此很陌生,不知道该怎么做。谢谢

这是我的代码

var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var Applicant = require('./models/applicants');
var sendAppliedEmail = require('./mail/index.js');

var app = express();
app.set('view engine', 'ejs');
app.use(express.static(__dirname + "/public"));
app.use(express.static(__dirname + '/js'));
var port = process.env.PORT || 3000;

mongoose.connect('mongodb+srv://klaurtar:************@cluster0-nakj7.mongodb.net/test?retryWrites=true', {useNewUrlParser: true});
app.use(bodyParser.urlencoded({extended: true}));

这是我运行heroku日志时的终端 enter image description here

最佳答案

我发现 MongoNetworkError 正在发生,如果本地运行正常但 Heroku 运行不正常,则 IP 白名单可能是问题所在。在我们进行任何连接之前,IP 需要在 MongoDB Atlas 中列入白名单。如果您不知道 IP (heroku),可以将其设置为 0.0.0.0/0

IP whiltelisting at MongoDB Atlas (under security tab)

我过去遇到过类似的问题,这对我有用。

关于node.js - Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407441/

相关文章:

ruby-on-rails - Rails 吞吐量峰值报告为 middleware/Rack/ActionDispatch::Routing::RouteSet#call

javascript - 动态定义 Mongoose 模型方法

node.js - 访问异步函数中的对象

python - 使用 Pandas 从 MongoDB 将字典转换为行

ruby-on-rails - Rails 5.2 和 webpacker 3.4.3 : Assets not compiled when deployed to Heroku

mysql - rails 4 : Assign the records of one relation to another

c++ - 解析字符串参数数组

node.js - 如何在 Node.js 应用程序的客户端站点上处理 JWT token ?

javascript - Mongo forEach 函数只在第一行执行更新

mongodb - 如何使用 Meteor Upsert