2012-07-18 11 views

答えて

18

私がチェックするopenerrorイベントを使用することをお勧めしますデータベース。これは私のすべてのプロジェクトで、私が接続していることを再確認するための単純な例です。

var mongoose = require('mongoose'); 

mongoose.connection.on('open', function (ref) { 
    console.log('Connected to mongo server.'); 
}); 
mongoose.connection.on('error', function (err) { 
    console.log('Could not connect to mongo server!'); 
    console.log(err); 
}); 

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

をうん、うまくいくよ。セミコロン ";" :) –

+1

お返事ありがとう、それは私が必要なものです。 – Charles

4

明らかにマングースは例外ではありません。

ですから、モンゴDBネイティブNodeJSドライバを使用することができます。

だからここはあなたが何ができるかです:あなたがに接続できるかどう

var mongoose = require('mongoose'); 

var Db = require('mongodb').Db, 
    Server = require('mongodb').Server; 

console.log(">> Connecting to mongodb on 127.0.0.1:27017"); 

var db = new Db('test', new Server("127.0.0.1", 27017, {})); 

db.open(function(err, db) { 
    console.log(">> Opening collection test"); 
    try { 
     db.collection('test', function(err, collection) { 
      console.log("dropped: "); 
      console.dir(collection); 
     }); 
    } 
    catch (err) { 
     if (!db) { 
      throw('MongoDB server connection error!'); 
     } 
     else { 
      throw err; 
     } 
    } 
}); 

process.on('uncaughtException', function(err) { 
    console.log(err); 
}); 
+1

おかげで答えて:) – Charles

20

マングースはすでに単にまっすぐ進むが私のために正常に動作

mongoose.connection.readyState 
0 = no 
1 = yes 
+11

実際には4つの州があります。言及された2つに加えて、2 = "接続"と3 = "切断"があります。こちらをご覧くださいhttp://mongoosejs.com/docs/api.html#connection_Connection-readyState – Risadinha

8

をチェックすることにより、接続されているかどうかをあなたが言うことができますあなたのための

mongoose.Connection.STATES.connected === mongoose.connection.readyState

+0

ありがとう!私は定数を探していました。これは== 1を使用するよりもきれいです – koga73

関連する問題