【发布时间】:2018-07-23 17:33:15
【问题描述】:
我第三次在新机器 OS Sierra 上安装应用程序,并且很难让 node 与 mongo 通信。我以前没有遇到过这个问题。我有 node/express/mongoose 的最新稳定版本,我通过 homebrew 安装了 mongo。当我运行它时,它只是挂起并且什么都不做 - 在 mongod 终端中创建与数据库的连接,并且刷新会导致它抛出一个已经连接的错误,因此它确实以某种能力工作。我什至尝试将 URI 换成 heroku mLab 实例,但行为仍然相同:
app.get('/api/mongotest', function(req, res){
mongoose.connect('mongodb://localhost:27017/local', function(err) {
if (err) {
res.json(err);
} else {
res.json('Success!');
}
});
});
【问题讨论】:
-
另外,node 和 mongo 似乎同时打开了很多 PID 进程
-
每次调用端点时,您都会连接到数据库。您应该在服务器启动期间连接一次。
-
同意 - 我只是在运行一个测试,看看我是否可以让它成功,或者告诉我一个我可以做些什么的该死的错误!
-
您是否尝试添加一些 console.log 或在连接回调中使用调试?在不尝试将其传递给响应的情况下检查错误是什么。只需先在控制台中打印即可。
标签: node.js mongodb express mongoose