使用node.js设置MongoDB:错误:无法连接到[localhost:27017]

11

我遇到了错误:"failed to connect to [localhost:27017]",当我试图按照这个教程进行操作时。

过去几天里,我尝试了几个关于使用mongoDB的node.js教程,但每一个都遇到了类似的问题。我所找到的其他解决方案都涉及到人们在尝试连接时没有运行服务器。我已经在终端窗口中运行了mongod,并且可以在本地主机上通过浏览器查看信息,并且通过mongo shell添加和查看了数据库记录。所有这些看起来都工作正常。但所有与数据库连接有关的node.js项目都无法连接,在这方面我是新手,不确定应该从哪里开始进行故障排除。

已解决:这是我的一个非常愚蠢的错误。Neil提供的文件(点击此处查看)对帮助我解决问题非常有帮助。

需要更改该行:

mongoose.connect('mongodb://localhost/MyApp');

mongoose.connect('mongodb://127.0.0.1:27017/test');

在 server.js 文件中。

附注:由于我不太理解的原因,将地址指定为 127.0.0.1: 可以工作,但 localhost: 不行。


它只能与127.0.0.1一起使用的事实可能与在/ etc / mongo.conf中具有bind_ip = 127.0.0.1有关。 - rodrunner
2个回答

5
只是出于好奇,你能做到吗?
npm install mongoose

而且还要发布来自...的输出结果。
ps -ef | grep mongod

你需要在运行node的机器上进行操作。这将大大有助于回答剩下的问题。

此外,请按照这里所示的简单示例代码,替换数据库名称和集合名称,并在节点上运行。

node sample.js

编辑您的帖子以包含更多信息。这将有所帮助。


执行了 npm install mongoose 命令,没有出现错误,但对问题没有影响。grep 命令的输出结果为:euterpe:benm me$ ps -ef | grep mongod 502 16818 13001 0 12:26AM ttys002 0:11.65 /usr/local/Cellar/mongodb/2.4.9/mongod --rest --config /usr/local/etc/mongod.conf 502 17373 6467 0 12:40AM ttys003 0:00.00 grep mongod - Deimyts
尝试按照建议,在Node中运行与Mongo连接的非常简单的内容。使用找到的附加信息编辑您的问题。目前它只是一块文本。人们会忽略你并投票反对这个问题。 - Neil Lunn
谢谢 - 我一直在尝试使用你提供的示例文件进行实验,以便更好地理解问题。等我有更多线索并能更好地解释时,我会更新的。到目前为止,它确实有所帮助。 - Deimyts
解决了。这是一个相当愚蠢的错误,但你提供的文件帮助我增加了足够的理解来找到它。谢谢! - Deimyts

0

启动Mongo服务器,或者在mongo.exe上运行并输入

mongod

然后

mongo


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接