2016-12-22 4 views
4

呼び出される私はMEANプロジェクトを持っており、これは、スニペットで私のserver.jsからのMongoDBマングース接続オープンコールバックのdoesntが

var db = require('./config/db'); 
// url : 'mongodb://localhost/cdnserver' 
// results are same for 127.0.0.1 or the machines ip 
console.log(mongoose.connect(db.url)); 

mongoose.set('debug', true); 
mongoose.connection.on('connected', function() { 
    console.log('Mongoose default connection open to ' + db.url); 
}); 

// If the connection throws an error 
mongoose.connection.on('error',function (err) { 
    console.log('Mongoose default connection error: ' + err); 
}); 

// When the connection is disconnected 
mongoose.connection.on('disconnected', function() { 
    console.log('Mongoose default connection disconnected'); 
}); 

これは現在、3ヶ月以上のためによく働いている設定です。今私はMEANスタック全体をデータベースと一緒に他のマシンに複製しています。私はモンドームをとり、mongorestoreをしました。復元されたデータベースの設定は、ターミナルからmongoを通して正常に見えます。

ただし、サーバーを起動すると、接続オープンコールバックが呼び出されません。 mongodbサービスを停止すると切断され、エラーコールバックが呼び出されます。これをさらにどのようにデバッグするのですか?

両方の設定からコンソール出力を添付しています。

セットアップ1:

Mongoose { 
    connections: 
    [ NativeConnection { 
     base: [Circular], 
     collections: {}, 
     models: {}, 
     replica: false, 
     hosts: null, 
     host: 'localhost', 
     port: 27017, 
     user: undefined, 
     pass: undefined, 
     name: 'cdnserver', 
     options: [Object], 
     otherDbs: [], 
     _readyState: 2, 
     _closeCalled: false, 
     _hasOpened: false, 
     _listening: false, 
     db: [Object] } ], 
    plugins: [], 
    models: {}, 
    modelSchemas: {}, 
    options: { pluralization: true } } 
Server up on 80 
Mongoose default connection open to mongodb://localhost/cdnserver 
1 
Mongoose: videos.find({}) { skip: 0, limit: 5, fields: undefined } 

セットアップ2:

Mongoose { 


connections: 
    [ NativeConnection { 
     base: [Circular], 
     collections: {}, 
     models: {}, 
     replica: false, 
     hosts: null, 
     host: 'localhost', 
     port: 27017, 
     user: undefined, 
     pass: undefined, 
     name: 'cdnserver', 
     options: [Object], 
     otherDbs: [], 
     _readyState: 2, 
     _closeCalled: false, 
     _hasOpened: false, 
     _listening: false, 
     db: [Object] } ], 
    plugins: [], 
    models: {}, 
    modelSchemas: {}, 
    options: { pluralization: true } } 
Server up on 80 
1 
1 
Mongoose default connection disconnected 
Mongoose default connection error: Error: connection closed 

猫/var/log/mongodb/mongodb.logは、両方のマシンでまったく同じ出力を示しています。

更新1:セットアップが正常に動作し始め、再び停止しました。私は何が起こっているのか理解できません。

+0

端末からmongoに接続できますか?おそらくあなたは新しいDBの認証を有効にしましたか? – GilZ

+0

@GilZ接続できますが、認証が設定されていません。また、システムが断続的に動作したときに、私は認証設定を変更しませんでした。 – 55597

+0

mongodbサーバのログは、通常、 '/ var/log/mongodb/mongodb.log'でチェックしましたか? –

答えて

0

最後に、新しい設定でnodejsの新しいバージョンが使用されていました。

7.xから6.xに移動したときに正常に機能しました。私はmongoose、ノード7、mongodbのバージョンがうまくいっていないと思います。