我知道我正在做一些非常愚蠢和无聊,但我希望有人可以帮助我在mac上从node.js建立一个基本的数据库连接到mongodb。
我已经使用自制软件安装了mongodb,似乎工作得很好。我已经启动服务器(mongod)作为本地登录的用户,并打开了一个第二个终端,并确认我可以使用mongo连接到它。当我运行mongo时,我收到消息“连接到:localhost:27017 / test”,后跟命令提示符。在mongo shell中的几个命令一切似乎都在那里工作。使两个端子都打开并运行。
我也确认我可以通过localhost到达web界面:28017。
我安装了node.js并添加了mongoose包。现在尝试使用超级简单的node.js应用程序进行连接(也可以本地登录用户身份运行):
var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test');
我收到以下错误
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)
把我的头靠在墙上,试图让一件如此简单的工作。我失踪了什么
编辑:这里是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 08:19:43.700 [initandlisten] options: { bind_ip: "127.0.0.1",config: "/usr/local/etc/mongod.conf",dbpath: "/usr/local/var/mongodb",logappend: "true",logpath: "/usr/local/var/log/mongodb/mongo.log",rest: true } 08:19:43.700 [initandlisten] journal dir=/usr/local/var/mongodb/journal 08:19:43.700 [initandlisten] recover : no journal files present,no recovery needed 08:19:43.729 [websvr] admin web console waiting for connections on port 28017 08:19:43.729 [initandlisten] waiting for connections on port 27017 08:22:34.561 [initandlisten] connection accepted from 127.0.0.1:52160 #3 (1 connection Now open) 08:22:34.563 [conn3] recv(): message len 1124073472 is too large. Max is 48000000 08:22:34.563 [conn3] end connection 127.0.0.1:52160 (0 connections Now open) 08:24:41.298 [initandlisten] connection accepted from 127.0.0.1:52166 #4 (1 connection Now open) 08:24:41.304 [conn4] end connection 127.0.0.1:52166 (0 connections Now open) 08:25:06.938 [initandlisten] connection accepted from 127.0.0.1:52168 #5 (1 connection Now open) 08:25:06.943 [conn5] end connection 127.0.0.1:52168 (0 connections Now open) 08:25:18.220 [initandlisten] connection accepted from 127.0.0.1:52172 #6 (1 connection Now open) 08:25:18.225 [conn6] end connection 127.0.0.1:52172 (0 connections Now open) 08:25:38.811 [initandlisten] connection accepted from 127.0.0.1:52175 #7 (1 connection Now open) 08:25:38.816 [conn7] end connection 127.0.0.1:52175 (0 connections Now open)
解决方法
使用此代码设置您的mongodb连接:
var mongoose = require('mongoose'); var mongoURI = "mongodb://localhost:27017/test"; var MongoDB = mongoose.connect(mongoURI).connection; MongoDB.on('error',function(err) { console.log(err.message); }); MongoDB.once('open',function() { console.log("mongodb connection open"); });
在启动服务器时确保mongod正在运行。您是使用Express还是只使用一个简单的node.js服务器?使用上述代码,您收到的错误消息是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。