Ho un'app con MongoDB come backend. Quando l'app è avviata, imposto la connessione e la utilizzo in seguito alle richieste.Come verificare se la connessione MongoDB è attiva in Node.js
Ma se nel frattempo la mia db conncetion fallisce (ad esempio crash di mongod), come posso verificarlo al momento della richiesta?
Per chiarire un po ':
- Attualmente ho un "api.js", che fa
db.once('open', function../* setup */)
- su richiesta, lo faccio
db.find(conditions, function(err, res) { if (err) ...else ...})
.
Quello che voglio fare è controllare se la connessione è attiva prima della clausola db.find()
. Quindi, se non funziona, posso provare a riavviare la connessione db.
P.S. Lo so, probabilmente dovrei impostare una sorta di pool di connessioni o simili invece di mantenere la connessione sempre attiva, ma al momento è impostata così com'è.
Ok, assumendo il modo più veloce per rilevare un errore nello stato di connessione, sarebbe innanzitutto il tentativo di operazione e riprovare l'errore (http://stackoverflow.com/questions/8936922/is-inserting-a-new-database -entry-faster-than-checking-if-the-entry-exists-first) quale sarebbe il modo più elegante per incapsulare quel tentativo, credi? – Montagist