sql >> Databasteknik >  >> NoSQL >> MongoDB

Använder mongoDB i Express-routrar

Du bör göra din anslutning en gång och använda den i alla hanterare.

Just nu är det du gör att återansluta till databasen på varje enskild begäran, även på de förfrågningar som inte använder databasen alls. Dessutom ringer du next() innan du ens väntar på att anslutningen ska upprättas.

Databasanslutningar är avsedda att vara beständiga - inte engångssaker, så du kommer sannolikt att få mycket dålig prestanda med ditt tillvägagångssätt och jag är inte ens säker på varför du skulle vilja göra det. Har du haft några problem med en enda anslutning? Jag tror inte att det skulle hjälpa att hamra på din databas så. Om något kan det bara göra saken värre.

När du ansluter till Mongo med den inföddaMongoDB Node.js-drivrutinen det finns några alternativ som du kan använda, som:

  • poolSize - Ställ in maximal poolstorlek för varje enskild server eller proxyanslutning (standard är 5 )
  • autoReconnect - Återanslut vid fel (standard är true )

Några andra intressanta alternativ är:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Du kan ändra värdena för dessa alternativ om du inte är nöjd med standardinställningarna.

För mer information se:




  1. hur man hämtar partiella objekt från objektmatris i ett fält i mongodb

  2. Snabbt sätt att hitta dubbletter på indexerad kolumn i mongodb

  3. Konvertera MongoDB BsonDocument till giltig JSON i C#

  4. Varför är Redis SET-prestanda bättre än GET?