Comment vérifier si connexion MongoDB est vivant dans Node.js

J'ai une application avec MongoDB comme backend. Lorsque l'application est démarrée, j'ai configuré la connexion et l'utiliser plus tard sur demande.

Mais si dans le même temps ma db conncetion échoue (c'est à dire. mongod se bloque), comment puis-je vérifier que sur le temps de la demande?

De clarifier un peu:

  • actuellement, j'ai un "api.js" qui ne db.once('open', function../* setup */)
  • sur demande, je ne db.find(conditions, function(err, res) { if (err) ...else ...}).

Ce que je veux faire est de vérifier si la connexion est en vie avant la db.find() clause. Donc, si il est en panne, je peux essayer de redémarrer la connexion db.

P. S. je sais, je devrais probablement une sorte de pool de connexion ou semblable au lieu de garder la connexion active tout le temps, mais pour l'instant il est comme il est.

Ok, en supposant que le moyen le plus rapide à détecter une erreur dans le cadre de l'état serait de tenter en premier lieu de l'opération et de réessayer de l'échec (stackoverflow.com/questions/8936922/...) quelle serait la façon la plus élégante pour encapsuler que réessayer, pensez-vous?

OriginalL'auteur Zlatko | 2013-07-22