我知道我正在做一些非常愚蠢和noobish,但我希望有人可以帮助我在mac上从node.js建立与mongodb的基本数据库连接.
我用自制软件安装了mongodb,似乎运行得很好.我已经启动了服务器(mongod)作为本地登录用户,并打开了第二个终端并确认我可以使用mongo连接到它.当我运行mongo时,我收到消息"connect to:localhost:27017/test",然后是命令提示符.在mongo shell中运行一些命令似乎一切都在那里工作.将两个端子都打开并运行.
我还确认我可以访问localhost:28017的web界面.
我安装了node.js并添加了mongoose包.现在尝试使用超级简单的node.js应用程序进行连接(也作为本地登录用户运行):
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
events.js:72
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:901:11)
at Object.afterConnect [as oncomplete] (net.js:892:19)
Run Code Online (Sandbox Code Playgroud)
我的头撞在墙上试图让事情变得如此简单.我错过了什么?
编辑:这是来自mongod的日志.正如你所看到的那样,我多次尝试过,而且它们都是瞬间失败的:
Thu Dec 5 08:19:43.700 [initandlisten] MongoDB starting : pid=14412 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=mobadmins-MacBook-Pro-3.local
08:19:43.700 [initandlisten] db version v2.4.8
08:19:43.700 [initandlisten] git version: nogitversion
08:19:43.700 [initandlisten] build info: Darwin mobadmins-MacBook-Pro-3.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
08:19:43.700 [initandlisten] allocator: tcmalloc …Run Code Online (Sandbox Code Playgroud) 安装Mongo使用homebrew.如果我mongo在shell上键入,它会连接到test.但是当我键入ip address本地机器而不是127.0.0.1
mongo --host 192.168.1.100 --verbose
Run Code Online (Sandbox Code Playgroud)
它给了我错误信息
MongoDB shell version: 2.4.6
Fri Aug 23 15:18:27.552 versionArrayTest passed
connecting to: 192.168.1.100:27017/test
Fri Aug 23 15:18:27.579 creating new connection to:192.168.1.100:27017
Fri Aug 23 15:18:27.579 BackgroundJob starting: ConnectBG
Fri Aug 23 15:18:27.580 Error: couldn't connect to server 192.168.1.100:27017 at src/mongo/shell/mongo.js:147
Fri Aug 23 15:18:27.580 User Assertion: 12513:connect failed
Run Code Online (Sandbox Code Playgroud)
尝试mongo.conf通过评论bind_ip或通过更改IP地址来修改127.0.0.1,0.0.0.0但没有运气.这应该很简单但现在没有任何线索.用mac.
谢谢
更新:根据要求.这是按照您的建议进行更改后的工作原理.
ifconfig输出
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> …Run Code Online (Sandbox Code Playgroud)