U moet uw verbinding één keer maken en in alle handlers gebruiken.
Op dit moment maakt u bij elk verzoek opnieuw verbinding met de database, zelfs bij verzoeken die de database helemaal niet gebruiken. Bovendien bel je next() nog voordat je hebt gewacht tot de verbinding tot stand is gebracht.
Databaseverbindingen zijn bedoeld om persistent te zijn - geen eenmalige dingen, dus je zult waarschijnlijk zeer slechte prestaties krijgen met je aanpak en ik weet niet eens zeker waarom je dat zou willen doen. Heeft u problemen gehad met een enkele verbinding? Ik denk niet dat het helpen om je database zo te bewerken. Als er iets is, kan het de zaken alleen maar erger maken.
Wanneer u verbinding maakt met Mongo met de nativeMongoDB Node.js Driver er zijn enkele opties die u kunt gebruiken, zoals:
poolSize
- Stel de maximale poolSize in voor elke afzonderlijke server- of proxyverbinding (standaard is5
)autoReconnect
- Opnieuw verbinding maken bij fout (standaard istrue
)
Enkele andere interessante opties zijn:reconnectTries
, reconnectInterval
, keepAlive
, connectTimeoutMS
, socketTimeoutMS
.
U kunt de waarden van die opties wijzigen als u niet tevreden bent met de standaardinstellingen.
Voor meer info zie:
- Verbindingsfouten en nieuwe pogingen
- MongoClient of hoe u verbinding kunt maken in een nieuwe en betere manier
- Tutorials / Verbinden met MongoDB
- Referentie / Verbindingsopties / Verbindingsinstellingen
- Vraag over automatisch opnieuw verbinden van node.js mongo-stuurprogramma (mailinglijst)