LoginSignup
18
18

More than 5 years have passed since last update.

node.js から mongodb接続時にconnect ECONNREFUSED

Posted at

事象

node.jsからmongodbに接続しようとプログラムを作成して実行したところ
以下エラーがでてまう。

[vagrant@localhost nodejs]$ node mongo.js 
{ name: 'MongoError', message: 'connect ECONNREFUSED' }

プログラムは以下

var MongoClient = require('mongodb').MongoClient,
    settings = require('./settings');
MongoClient.connect("mongodb://"+settings.host+"/"+settings.db, function(err, db) {
    if (err) { return console.dir(err); }
    console.log("connected to db");
    db.collection("users", function(err, collection) {
        var docs = [
            {name: "taguchi", score: 40},
            {name: "fkoji", score: 80},
            {name: "dotinstall", score: 60}
        ];
        collection.insert(docs, function(err, result) {
            console.dir(result);
        });
    });
});

解決方法

  • まず、そもそも/data/dbをつくっていなかったので、つくりました。
$ sudo mkdir -p /data/db
  • mongodbに接続して、プログラム実行前に、nodedbデータベースおよびusersコレクションを作りました。
$ mongo nodedb
 > db.createCollection('users')
  • プログラム中の以下の記述を
MongoClient.connect("mongodb://"+settings.host+"/"+settings.db,
MongoClient.connect("mongodb://localhost:1337/"+settings.db,

に変更しました。

これで接続できるようになりました。

good ruck!

18
18
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18