我第三次在新机 OS Sierra 上安装应用程序,并且很难让节点与mongo进行通信。我之前没有遇到过这个问题。我有最新的稳定版node / express / mongoose,我通过自制软件安装了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!');
}
});
});
答案 0 :(得分:0)
FIX:我在尝试ScotchIO(express,node,mongo)教程,然后又在Traversy Media youtube上再次 时遇到了这个问题。事实证明,我使用的猫鼬版本有些奇怪,如果您在pkg json中将其降级为"mongoose": "4.7.6"
,则删除节点模块并运行npm install
就是黄金。
希望这可以帮助某人...
为此问题提供信用,以解决问题:https://github.com/gfzabarino
答案 1 :(得分:-2)
啊哈 - 看起来我的节点版本与mongo不兼容!谢谢!