sql >> Database teknologi >  >> NoSQL >> MongoDB

Brug af mongoDB i Express-routere

Du bør oprette din forbindelse én gang og bruge den i alle behandlere.

Lige nu er det, du gør, at genoprette forbindelsen til databasen på hver enkelt anmodning, selv på de anmodninger, der slet ikke bruger databasen. Desuden ringer du til next() før du overhovedet venter på, at forbindelsen bliver etableret.

Databaseforbindelser er beregnet til at være vedvarende - ikke engangsting, så du vil sandsynligvis få meget dårlige resultater med din tilgang, og jeg er ikke engang sikker på, hvorfor du ønsker at gøre det. Har du haft problemer med en enkelt forbindelse? Jeg tror ikke, det ville hjælpe at hamre på din database på den måde. Hvis noget, kan det kun gøre tingene værre.

Når du opretter forbindelse til Mongo med den oprindeligeMongoDB Node.js-driver der er nogle muligheder, du kan bruge, såsom:

  • poolSize - Indstil den maksimale poolstørrelse for hver enkelt server eller proxyforbindelse (standard er 5 )
  • autoReconnect - Genopret forbindelse ved fejl (standard er true )

Nogle andre interessante muligheder er:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Du kan ændre værdierne for disse muligheder, hvis du ikke er tilfreds med standardindstillingerne.

For mere info se:




  1. MongoDB $radiansToDegrees

  2. Sådan forbinder du Mongodb Atlas til Spring

  3. Kør databasemigrering (mongodb) med node.js

  4. mgo $unwind aggregeringsresultat til ukendt elementtype (0x2E)