Měli byste vytvořit připojení jednou a použít je ve všech obslužných programech.
Právě teď děláte, že se znovu připojujete k databázi při každém jednotlivém požadavku, dokonce i u těch požadavků, které databázi vůbec nepoužívají. Kromě toho voláte next() ještě předtím, než čekáte na navázání spojení.
Databázová připojení mají být trvalá – ne jednorázové, takže s vaším přístupem pravděpodobně dosáhnete velmi špatného výkonu a ani si nejsem jistý, proč byste to chtěli dělat. Měli jste nějaké problémy s jedním připojením? Nemyslím si, že by takové zatloukání vaší databáze pomohlo. Pokud něco, může to situaci jen zhoršit.
Když se připojíte k Mongo pomocí nativníhoovladače MongoDB Node.js existuje několik možností, které můžete použít, například:
poolSize
- Nastavte maximální velikost fondu pro každý jednotlivý server nebo připojení proxy (výchozí je5
)autoReconnect
- Znovu se připojte při chybě (výchozí jetrue
)
Některé další zajímavé možnosti jsou:reconnectTries
, reconnectInterval
, keepAlive
, connectTimeoutMS
, socketTimeoutMS
.
Pokud nejste spokojeni s výchozími hodnotami, můžete hodnoty těchto možností změnit.
Pro více informací viz:
- Selhání a opakování připojení
- MongoClient aneb jak se připojit v novém a lepším způsobem
- Výukové programy / Připojení k MongoDB
- Reference / Možnosti připojení / Nastavení připojení
- Otázka ohledně automatického opětovného připojení ovladače node.js mongo (seznam adresátů)