MEAN STACK APP部署HEROKU问题MongoNetworkError:无法连接到服务器



无法找到连接到MongoDB的方法来部署应用程序。给我一个错误"MongoNetworkError:在第一次连接时无法连接到服务器[localhost:27017][Error:connect ECONNREFUSED 127.0.0.1:27017"可能出了什么问题?连接到8080服务器,但仍然出现错误。

app.js

const MONGODB_URI = 'mongodb://localhost:27017/members'
mongoose
.connect(
MONGODB_URI,
{ useNewUrlParser: true },
{ useMongoClient: true }
)
.then(() => console.log('MongoDB Connected'))
.catch(err => console.log(err))
var Users = require('./routes/users')
app.use('/users', Users)
const Post = require('./model/post')
//API end point for fetching the list of blog posts. Since for db Mongo is used, Mongoose client added to connect the db with the app.
app.post('/api/post/getAllPost', (req, res) => {
mongoose.connect(url, { useMongoClient: true } , function(err){
console.log(err - 'error here')
if(err) throw err;
console.log("connection established successfully")
Post.find({},[],{ sort: { _id: -1 } },(err, doc) => {
if(err) throw err;
return res.status(200).json({
status: 'success',
data: doc
})
})
});
})
app.listen(port, function() {
console.log('Server is running on port: ' + port)
})

首先尝试通过mongodb-compass社区访问您的数据库,您可能会得到一个连接字符串,以便在本地连接到您的数据库。。

mongoose.connect('mongodb://localhost:27017/supercampus?readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=false',
{ useNewUrlParser: true,useUnifiedTopology: true },
(err,res)=>{
if(err) console.log(err)
else{
console.log("connected")
}    
})

对于heroku部署,您需要一个在线选项,如mongodb atlas,它是免费的