2011-07-14 4 views
4

Si la connexion DB est perdue, le nœud continuera à rechercher la connexion DB comme un fou. Par conséquent, y a-t-il une option pour définir le # de tentative de connexion ou le délai d'attente si la connexion est perdue? et lancer des erreurs .. au lieu de continuer à boucler et essayer de se connecterDans Mongoosejs, comment détecter et définir le délai d'expiration de la connexion DB est-il perdu?

mongoose.connect (db_path);

+0

apparemment, il est un bug nœud-mongo natif . – murvinlai

Répondre

1

Cela peut ne pas répondre exactement à votre question, mais vous pouvez demander à Mongoose de ne pas essayer de se reconnecter en transmettant l'option auto_reconnect au serveur. Cela l'empêchera d'essayer la DB automatiquement.

mongoose.connect(mongodb_url, { server : { auto_reconnect : true } }); 

Ensuite, dans votre code, vous pouvez vérifier manuellement l'état de connexion comme ceci:

if (mongoose.connection.readyState == 0) { // disconnected 
    // reconnect 
} 

Voir d'autres connexion prêt états: https://github.com/LearnBoost/mongoose/blob/master/lib/connection.js#L38

Questions connexes