hereというチュートリアルに従っています。しかし、私は次のエラーを取得しています:Mac:ノードJS Mongoデータベースエラー:接続が拒否されました
Unable to connect to the mongoDB server. Error: { [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
name: 'MongoError',
message: 'connect ECONNREFUSED 127.0.0.1:27017' }
私はコマンドを使用して検証している1を返しhereが見つかりました:
ps -ef | grep mongod | grep -v grep | wc -l | tr -d ' '
私も
ps -ef | grep mongod
を実行し、次のように受けています。
0 4165 418 0 Fri12pm ttys000 0:00.03 sudo mongod
501 6165 418 0 9:54am ttys000 0:00.00 grep mongod
次のように私が実行しようとしています
私のjavascriptのファイルがある:私が試してみました
var fs = require('fs');
var http = require("https");
var express = require('express');
var app = express();
var path = require('path');
var http = require("http");
var url = require("url");
var req = require('request')
var pem = require('pem');
var cors = require("cors");
var mongodb = require('mongodb').MongoClient;
var url = 'mongodb://127.0.0.1:27017/Rewards';
// Use connect method to connect to the Server
mongodb.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
//HURRAY!! We are connected. :)
console.log('Connection established to', url);
// do some work here with the database.
//Close connection
db.close();
}
});
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(express.static(path.join(__dirname, '../')));
app.listen(process.env.PORT || 8080);
app.options('*', cors());
app.all('/*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost:8080");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
next();
});
app.get('/', function (req, res) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.writeHead(200, {'Content-Type': 'text/plain'});
contents = fs.readFileSync("sliderImages.json", "utf8");
console.log(path.join(__dirname, '/sliderImages.json'));
res.end(contents);
});
もの:
- 他人
- 取りに27017からポート番号を変更するサービス
- を再起動しますアウトコードなのでベアボーンであることを確認する
- This links information
- This links information
- This links information
私は、これは少し難しいデバッグしようとしているノードJSとモンゴDBにかなり新しいです。私はStackOverflowのオン/オフの両方で他の関連記事から多くのことを試しましたが、なぜこのエラーが出るのか理解できないようです。
私はモンゴDBがそれらを必要と読んで、次がインストールされています:
- MongoDBのコア
- BSON
- ケルベロス
- ノード-GYP
としてだけでなく、 :
-
私は私のコードおそらくこれらをよく知っている、より良い開発者は、うまくいけば私に説明できるだけでなく、この問題を抱えている同様の開発者がより良い理解を持っているの投稿期待しています
- マングース
- モンゴ
- ノード
正確に何が起こっているのか、なぜこの問題が発生しているのか私はソースから読みましたが、データベース接続をクローズしていない、データベースがない、実行していないmongoなどのいくつかの重要な問題のために、これが発生する可能性があるというリンクを見つけることができません。
これを修正する方法についてのご意見は大変ありがとうございます。よりよく説明された答えは、自分自身を助けるために、そしてなぜこのような問題が起こっているのか、そしてなぜこの問題が発生したのかなど、将来の開発者にも大いに感謝します。
注:他の投稿の可能性が実装されていて問題を修正しなかった場合は、重複して投票しないでください。
のmongodを入力:
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] MongoDB starting : pid=10385 port=27017 dbpath=/data/db 64-bit host=RBCs-MacBook- Pro-3.local
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] db version v3.2.6
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2h 3 May 2016
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] allocator: system
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] modules: none
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] build environment:
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] distarch: x86_64
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] target_arch: x86_64
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] options: {}
2016-05-31T11:18:44.937-0400 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-05-31T11:18:44.937-0400 W - [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2016-05-31T11:18:44.937-0400 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] dbexit: rc: 100
だから、cliでmongodインスタンスを実行していて、他のcliノードindex.jsで実行している間にも接続エラーが発生しますか?あなたはmongo cliを介してmongodbインスタンスに接続し、それについて質問しましたか? – Andrei
私は少し混乱して申し訳ありません。私はmongoDbが動作していると信じています。私は2つのコマンドから返されたものを投稿しました。私は 'mongo'のようなコマンドを実行しようとしていますが、オンラインで見ると「コマンドが見つかりません」というキーがあります。私はこれが役立つか分かりませんが、コマンドラインからnpmを使ってすべてをダウンロードしました – L1ghtk3ira
mongoシェルで以下のコマンドを実行し、期待される結果が得られているかどうかを確認してください。 db.runCommand({ping:1}) show dbs mongo 127.0.0.1:27017/Rewards JavaScriptが正常に表示されます。私はそれを使ってmongoに接続することができます。 – notionquest