node.js – 从NodeJS到mongodb的[错误:无法连接到[localhost:27017]]

从NodeJS使用以下示例代码连接到MongoDB时遇到问题.我尝试运行“mongod”有或没有sudo,但nodejs代码仍然无法连接.我可以使用“mongo”成功连接数据库.

运行于:MAC OS 10.6.8

var mongoClient = require('mongodb').MongoClient;
   mongoClient.connect("mongodb://localhost:27017/test",function(error,db) {
        if(!error){
             console.log("We are connected");
        }
        else
           console.dir(error);
    });

得到以下错误运行上面的代码:[错误:连接到[localhost:27017]]

也尝试了mongoose但类似的错误

var mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost/test');
    var db = mongoose.connection;
    db.on('error',console.error.bind(console,'connection error:'));
    db.once('open',function callback () {
          console.log("DB connected");
    // yay!
    });

输出:连接错误:[错误:无法连接到[localhost:27017]]

这是mongod的日志

mongod --help for help and startup options
2014-07-11T23:33:47.843-0700 kern.sched unavailable
2014-07-11T23:33:47.849-0700 [initandlisten] MongoDB starting : pid=29942 port=27017 dbpath=/data/db 64-bit host=usc8bcc8a0d0b1
2014-07-11T23:33:47.849-0700 [initandlisten]
2014-07-11T23:33:47.849-0700 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256,should be at least 1000
2014-07-11T23:33:47.849-0700 [initandlisten] db version v2.6.3
2014-07-11T23:33:47.849-0700 [initandlisten] git version: nogitversion
2014-07-11T23:33:47.849-0700 [initandlisten] build info: Darwin usc8bcc8a0d0b1 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
2014-07-11T23:33:47.849-0700 [initandlisten] allocator: system
2014-07-11T23:33:47.849-0700 [initandlisten] options: {}
2014-07-11T23:33:47.850-0700 [initandlisten] journal dir=/data/db/journal
2014-07-11T23:33:47.850-0700 [initandlisten] recover : no journal files present,no recovery needed
2014-07-11T23:33:47.901-0700 [initandlisten] waiting for connections on port 27017
2014-07-11T23:34:47.901-0700 [clientcursormon] mem (MB) res:48 virt:2810
2014-07-11T23:34:47.901-0700 [clientcursormon]  mapped (incl journal view):320
2014-07-11T23:34:47.901-0700 [clientcursormon]  connections:0

解决方法

没关系,我可以使用127.0.0.1而不是localhost解决问题,不知道为什么我必须使用ip地址.我的tomcat,apache,redis,甚至节点服务器都使用localhost而不是mongodb.是否有配置我需要更改使其使用本地主机工作?

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...