【问题标题】:Node.js hangs when trying to connect to mongoNode.js 在尝试连接到 mongo 时挂起
【发布时间】: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


【解决方案1】:

FIX:我在尝试 ScotchIO(express、node、mongo)教程,然后在 Traversy Media youtube 上再次时遇到了这个问题。原来我使用的 mongoose 版本有些奇怪,如果你在 pkg json 中降级到 "mongoose": "4.7.6",删除节点模块并运行 npm install 你是金子。

希望这对某人有所帮助...

感谢这个小伙子解决它:https://github.com/gfzabarino

【讨论】:

    【解决方案2】:

    啊哈 - 看起来我的节点版本与 mongo 不兼容!谢谢!

    【讨论】:

    • 对答案的感谢和评论应该是特定答案的 cmets,而不是新答案。
    猜你喜欢
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多