sql >> Base de Datos >  >> NoSQL >> MongoDB

Usando mongoDB en enrutadores Express

Debe hacer su conexión una vez y usarla en todos los controladores.

En este momento, lo que está haciendo es volver a conectarse a la base de datos en cada solicitud, incluso en aquellas solicitudes que no usan la base de datos en absoluto. Además, está llamando a next() incluso antes de esperar a que se establezca la conexión.

Las conexiones de la base de datos están destinadas a ser persistentes, no cosas únicas, por lo que es probable que obtenga un rendimiento muy bajo con su enfoque y ni siquiera estoy seguro de por qué querría hacer eso. ¿Tuviste algún problema con una sola conexión? No creo que martillar tu base de datos de esa manera ayude. En todo caso, solo puede empeorar las cosas.

Cuando se conecta a Mongo con el controlador nativo MongoDB Node.js hay algunas opciones que puede usar, como:

  • poolSize - Establezca el poolSize máximo para cada servidor individual o conexión proxy (el valor predeterminado es 5 )
  • autoReconnect - Reconectar en caso de error (el valor predeterminado es true) )

Algunas otras opciones interesantes son:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Puede cambiar los valores de esas opciones si no está satisfecho con los valores predeterminados.

Para obtener más información, consulte: