MongoDB - MongoError:连接ECONNREFUSED

时间:2016-06-01 19:03:48

标签: javascript node.js mongodb express database

我在尝试连接mongoDB时遇到错误。我知道有很多类似于这个的问题,我已经检查了所有这些问题,并且没有找到解决我问题的方法。

这是确切的错误:

连接错误:{MongoError:connect ECONNREFUSED 127.0.0.1:21017 名称:' MongoError' 消息:连接ECONNREFUSED 127.0.0.1:21017

我查看了其他一些解决方案并且他们说要调整mongo.conf文件,但我似乎无法在我的系统上找到该文件并且我已经下载了MongoDB。

这是我的完整代码:

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
$ = require('cheerio');

/* GET home page. */


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


var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
    console.log('Connected to database');
  // we're connected!
});


var pageInfo = {
    title: 'JotIT',
    owner: 'Emmanuel Obogbaimhe',
    message: 'Hi welcome to JotIT. A quick, simple and easy to use note taker.',
    date: Date.now(),
    age: 22
};

router.get('/', function(req, res, next) {
  res.render('index', { 
    title: pageInfo.title,
    author: pageInfo.owner,
    message: pageInfo.message,
    date: pageInfo.date,
    age: pageInfo.age
     });
});



module.exports = router;

6 个答案:

答案 0 :(得分:0)

出现这种错误的原因:{MongoError:connect ECONNREFUSED 127.0.0.1:21017},是Mongo进程没有在该PORT上运行,或者根本没有运行。 首先检查mongo进程是否正在运行:

service mongod status //for Linux machine

第二步 - 检查mongo进程的端口:

nmap -p- localhost //for Linux machine

答案 1 :(得分:0)

对于Windows,打开另一个终端并进入apps根目录。然后,运行$ mongod.exe。我建议将以下内容放入test.js文件中:

var mongoose = require('mongoose');    
mongoose.connect('mongodb://localhost:27017/test.js');


var db = mongoose.connection;
db.on("error", function(error){
console.error("Connection error : " + error)
});
db.once('open', function() {
  console.log('Connected to database');
  db.close(function(){
        console.log("db connection closed");
  });
});

返回原始终端并运行$ node test.js

答案 2 :(得分:0)

我遇到了同样的错误,在我刚刚做的预览mongodb会话中看起来很糟糕并且结果很好

sudo service mongod stop
sudo service mongod start

答案 3 :(得分:0)

由于硬盘驱动器内存空间不足导致同样的问题。这导致mongod在重新启动后继续崩溃。

只需增加服务器的内存空间,并重新启动mongod(手动或在服务自动重启时通过重启)解决了这个问题。

答案 4 :(得分:0)

试试这个

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
$ = require('cheerio');

/* GET home page. */


mongoose.connect('mongodb://localhost:27017/db-dev');

或尝试使用

mongoose.connect('mongodb://0.0.0.0:27017/db-dev');

答案 5 :(得分:0)

将您的猫鼬连接代码更改为:

mongoose.connect('mongodb://localhost:27017/yourdb');