2016-04-23 17 views
0

mongodbとnode.jsを初めて使用しています。私はのNode.jsアプリケーションを実行しようとしていたとき、私は、エラー・ログは、MongoDBのインスタンスは、私の要求を拒否したと思われる、エラーの下になった:ノードエクスプレスフレームワークを使用したmongodbの接続

Error: connect ECONNREFUSED 127.0.0.1:27017 
    at Object.exports._errnoException (util.js:856:11) 
    at exports._exceptionWithHostPort (util.js:879:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1053:14) 
Press any key to continue... 

ここで私はMongoDBのを接続するために使用app.jsのコードです

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

// Create a reference to mongoose 
var mongoose = require('mongoose'); 


var routes = require('./routes/index'); 
var users = require('./routes/users'); 

var app = express(); 

// Open a connection to the DB. Here bookAPI is the name of database. 
var db = mongoose.connect('mongodb://127.0.0.1:27017/bookAPI'); 

// Create a reference to models 
var Book = require('./models/bookModel'); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(__dirname + '/public/favicon.ico')); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(require('stylus').middleware(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); 
app.use('/users', users); 

// catch 404 and forward to error handler 
app.use(function (req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

// error handlers 

// development error handler 
// will print stacktrace 
if (app.get('env') === 'development') { 
    app.use(function (err, req, res, next) { 
     res.status(err.status || 500); 
     res.render('error', { 
      message: err.message, 
      error: err 
     }); 
    }); 
} 

// production error handler 
// no stacktraces leaked to user 
app.use(function (err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: {} 
    }); 
}); 

module.exports = app; 
+0

mongodbが実行されていることは間違いありませんか? 'mongodb:// localhost/bookAPI'を試してください –

答えて

1

mongodbサービスはありません。127.0.0.1:27017で受信してください。
まず、mongodbサービスを開始するか、既存のmongodbサービスに接続するように設定を変更する必要があります。

+0

これはリモート接続用です。 –

+0

@ MarcosR.Guevara、localhostは '127.0.0.1'と同じです。あなたのシステム構成 '/ etc/hosts'には、 '127.0.0.1 \t localhost'という行があるので、それらは等しいです。これらはローカルループバックインターフェイスのアドレスです。 –

+0

これで127.0.0.1はlocalhostですが、ローカル接続にはポート(デフォルトは27017)を呼び出す必要はありません。 http://mongoosejs.com/docs/connections.html –

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

実際、サービス(例:mongod)はアクティブである必要があります。

mongodbサービスが実行されていることを確認してください。

+0

コンテキストを追加してください。なにが問題ですか?このコードは何を修正しますか? – ppperry

+0

このコードは、mongoose.connect( 'mongodb://127.0.0.1:27017/bookAPI')との違いはありません –

+0

これは解決しなければもっと詳細を追加する必要があります。 –

関連する問題