【问题标题】:Facing issues in loading mongo database and frontend app在加载 mongo 数据库和前端应用程序时面临问题
【发布时间】:2020-03-22 21:27:42
【问题描述】:

我正在创建一个匿名讨论论坛,我在其中使用 Heroku 在 MongoDB Atlas(云平台)上部署了我的 MongoDB。整个应用程序是使用 React 开发的。这是我的server.js 代码:

var express = require('express');
const path = require('path');

var mongoose = require('mongoose');
var bodyParser = require('body-parser');

var models = require('./api/models/message');

var routes = require('./api/routes/routes');

var port = process.env.PORT || 3001;
var app = express();
var Message = mongoose.model('Message')

// Uncomment this line to run it on development mode (localhost) -- discussion is our db name //
// mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost/discussion');

// This line is working on production mode //
mongoose.connect(process.env.MONGODB_URI || 'mongodb+srv://xxx:xxx@cluster0-xucmg.mongodb.net/test?retryWrites=true&w=majority');

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

routes(app);

if (process.env.NODE_ENV === "production") {
  app.use(express.static("frontend/build"));
  console.log("production");
}

app.get('*', function (request, response){
  response.sendFile(path.resolve(__dirname, 'frontend/build', 'index.html'))
});

app.listen(port);

console.log('Server running on port ' + port);

我的数据库名称是discussion。当此行未注释时:

mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost/discussion');

数据库加载正常,前端代码在本地主机上也可以正常工作。

但我正在尝试使用以下代码将我的数据库托管在云上(以解决 Heroku 构建的问题):

mongoose.connect(process.env.MONGODB_URI || 'mongodb+srv://xxx:xxx@cluster0-xucmg.mongodb.net/test?retryWrites=true&w=majority');

我不确定为什么由于这条线,前端部分没有被加载(在 Heroku 部署链接上)。我想这可能是因为没有加载数据库。但是,如果有人能帮助我解决这个问题,那将是一个很大的帮助。我尝试通过提供白名单访问来遵循此解决方案:Connecting Heroku App to Atlas MongoDB Cloud service,但问题仍然存在。

【问题讨论】:

    标签: node.js mongodb heroku mongodb-atlas


    【解决方案1】:

    我通过更新 mongoose 依赖版本 >= 5.0.0 解决了这个问题

    即使在 MongoDB Atlas 的 IP 白名单中添加 CIDR 为 0.0.0.0/0 之后,更新 mongoose 版本也将有助于克服此类问题。

    【讨论】:

      猜你喜欢
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      相关资源
      最近更新 更多