我正在尝试在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;
这是错误