MEAN STACK APP部署HEROKU问题 MongoNetworkError: failed to connect to server
Posted
技术标签:
【中文标题】MEAN STACK APP部署HEROKU问题 MongoNetworkError: failed to connect to server【英文标题】:MEAN STACK APP deployment HEROKU issue MongoNetworkError: failed to connect to server 【发布时间】:2020-11-03 08:34:03 【问题描述】:找不到连接到 MongoDB 以部署应用程序的方法。给我一个错误 " MongoNetworkError: failed to connect to server [localhost:27017] on first connect [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)
)
【问题讨论】:
【参考方案1】:首先尝试通过 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
【讨论】:
谢谢。我可以在本地连接,工作得很好。但是远程缺少一些东西 用海龟步移动。我错过了开始路径 /',添加了 app.js 的路径。但是现在出现了一个新错误“MongooseError:mongoose.connect()
或mongoose.createConnection()
的第三个参数必须是一个函数,得到“对象”
如果本地工作正常,现在尝试访问在线数据库,他们会为您提供 url 字符串以进行连接.. 尝试先使用 compass 社区访问它,然后在 api 中使用它。以上是关于MEAN STACK APP部署HEROKU问题 MongoNetworkError: failed to connect to server的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上部署 MEAN 应用程序时出现应用程序错误