MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Utilisation de mongoDB dans les routeurs Express

Vous devez établir votre connexion une seule fois et l'utiliser dans tous les gestionnaires.

À l'heure actuelle, vous vous reconnectez à la base de données à chaque requête, même pour les requêtes qui n'utilisent pas du tout la base de données. De plus, vous appelez next() avant même d'attendre que la connexion soit établie.

Les connexions à la base de données sont censées être persistantes - pas des choses ponctuelles, donc vous obtiendrez probablement de très mauvaises performances avec votre approche et je ne sais même pas pourquoi voudriez-vous faire cela. Avez-vous eu des problèmes avec une seule connexion ? Je ne pense pas que marteler votre base de données comme ça aiderait. Au contraire, cela ne peut qu'empirer les choses.

Lorsque vous vous connectez à Mongo avec le pilote natifMongoDB Node.js vous pouvez utiliser certaines options, telles que :

  • poolSize - Définissez la poolSize maximale pour chaque serveur individuel ou connexion proxy (la valeur par défaut est 5 )
  • autoReconnect - Se reconnecter en cas d'erreur (la valeur par défaut est true )

Quelques autres options intéressantes sont :reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Vous pouvez modifier les valeurs de ces options si vous n'êtes pas satisfait des valeurs par défaut.

Pour plus d'informations, voir :