使用MongoDB后端将node.js Express应用程序部署到Heroku时出现服务器错误500

时间:2020-07-23 20:01:36

标签: javascript node.js mongodb heroku

我正在尝试在Heroku上部署一个node.js Express Restful api应用程序,该应用程序已链接到MongoDB数据库。它应该给我一个JSON响应。它在localhost上工作正常,但是尝试访问已部署的应用程序时出现服务器500错误。我已经在Heroku的环境设置中添加了MongoDB变量,但是我看不到是什么导致了错误。

这是我正在使用的代码:

 index.js

 var express = require('express');
 var router = express.Router();
 const connect = require('../connect');

var db;

/* GET users listing. */
  router.get('/', function (req, res, next) {
   db.collection("quotes")
   .aggregate([{ $sample: { size: 1 } }])
   .toArray()
   .then(data => res.json({payload: data}));
  });

 connect("quotes").then(database => {
   db = database;
  })

module.exports = router;


connect.js

const mongodb = require('mongodb');

const uri = process.env.MONGODB_URI

 const connect = database => { 
   return mongodb.MongoClient.connect(uri, {useNewUrlParser: true})
   .then(client => {
    console.log("connected to MongoDB!")
    console.log("process.env.MONGODB_URI", process.env.MONGODB_URI);
    return client.db(database)
}).catch((err) => {
    console.log(err)
})
 };

 module.exports = connect;

这是错误

Heroku Error

0 个答案:

没有答案