MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Usando mongoDB em roteadores Express


Você deve fazer sua conexão uma vez e usá-la em todos os manipuladores.

No momento, o que você está fazendo é se reconectar ao banco de dados em cada solicitação, mesmo nas solicitações que não usam o banco de dados. Além disso, você está chamando next() antes mesmo de esperar que a conexão seja estabelecida.

As conexões de banco de dados devem ser persistentes - não coisas únicas, então é provável que você tenha um desempenho muito ruim com sua abordagem e nem sei por que você deseja fazer isso. Você teve algum problema com uma única conexão? Eu não acho que martelar seu banco de dados assim ajudaria. Se alguma coisa, isso só pode piorar as coisas.

Quando você se conecta ao Mongo com o driver nativoMongoDB Node.js existem algumas opções que você pode usar, como:
  • poolSize - Defina o poolSize máximo para cada servidor individual ou conexão proxy (o padrão é 5 )
  • autoReconnect - Reconectar em caso de erro (o padrão é true )

Algumas outras opções interessantes são:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Você pode alterar os valores dessas opções se não estiver satisfeito com os padrões.

Para mais informações consulte: