连接 ECONNREFUSED 127.0.0.1:27017'

gsi*_*dze 4 mongodb node.js

我有那个代码:

var express = require('express'),
    stylus = require('stylus'),
    logger = require('morgan'),
    bodyParser = require('body-parser'),
    mongoose = require('mongoose');

var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';

var app = express();

function compile(str, path){
    return stylus(str).set('filename', path);
}

app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(stylus.middleware(
        {
            src: __dirname + '/public',
            compile: compile
        }
    ));
app.use(express.static(__dirname + '/public'));

mongoose.connect('mongodb://localhost/multivision');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error..'));
db.once('open', function callback(){
    console.log('multivision db opened');
});

app.get('/partials/:partialPath', function(req, res){
    res.render('partials/' + req.params.partialPath);
});

app.get('*', function(req, res) {
  res.render('index');
});

var port = 3131;
app.listen(port);
console.log('Listening on port ' + port + '...');
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时nodemon server.js它会引发错误:

连接错误.. { [MongoError: connect ECONNREFUSED 127.0.0.1:27017] name: 'MongoError' message: 'connect ECONNREFUSED 127.0.0.1:27017' }

我该如何改进?我已经npm install mongoose --save在我的目录中安装了猫鼬

是的,有很多这样的问题,但这些问题都没有帮助我..我是 nodejs 的新手,可能遗漏了一些东西

小智 10

运行services.msc并激活Mongodb服务。

现在 Mongodb 将连接

Mongodb 的状态指示为Running

在此处输入图片说明


Sib*_*enu 8

当我node server在我的项目目录上执行时,我也面临着同样的问题。对我来说,MongoDB服务没有启动,这导致了这个问题。

所以我必须运行services.msc并激活该服务。

在此处输入图片说明

之后我就可以运行我的命令了。

D:\SVenu\MyApp>node server
Saving User
App is listening on port: 3000
Already Exist
Already Exist
Already Exist
Already Exist
Done save
Run Code Online (Sandbox Code Playgroud)


小智 5

我遇到了同样的问题,发现这是一个 mongod 问题。(我运行的是 Ubuntu 16.04)。查看错误,发现缺少一个目录。添加目录后,我需要更改权限,最后将 mongod 服务设置为开机启动。

$ sudo mkdir -p /data/db
$ sudo chown -R $USER /data/db
$ sudo systemctl enable mongod.service
Run Code Online (Sandbox Code Playgroud)


Sev*_*ven 1

尝试这个:

mongod.exe --dbpath c:\data\db

c:\data\db是你放置数据库的地方。

当你看到这样的东西时:

2016-08-18T10:22:31.020+0800 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-08-18T10:22:31.022+0800 I CONTROL  [initandlisten] MongoDB starting : pid=4356 port=27017 dbpath=c:\data\db 64-bit host=sevencai-PC0
2016-08-18T10:22:31.022+0800 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-08-18T10:22:31.023+0800 I CONTROL  [initandlisten] db version v3.2.8
2016-08-18T10:22:31.023+0800 I CONTROL  [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0
Run Code Online (Sandbox Code Playgroud)

......

然后节点 yourserver.js

也许一切都会好起来的!