sql >> Databasteknik >  >> NoSQL >> MongoDB

Stängs en anslutning till MongoDB automatiskt på process.exit()?

Svaret är nej . DB-anslutningar stängs inte av graciöst när du avslutar (eller kraschar).

För att göra det bör du använda något som liknar:

// Create a function to terminate your app gracefully:
function gracefulShutdown(){
    // First argument is [force], see mongoose doc.
    mongoose.connection.close(false, () => {
      console.log('MongoDb connection closed.');
    });
  });
}

// Ask node to run your function before exit:

// This will handle process.exit():
process.on('exit', gracefulShutdown);

// This will handle kill commands, such as CTRL+C:
process.on('SIGINT', gracefulShutdown);
process.on('SIGTERM', gracefulShutdown);
process.on('SIGKILL', gracefulShutdown);

// This will prevent dirty exit on code-fault crashes:
process.on('uncaughtException', gracefulShutdown);

Det finns också några paket för att hantera detta beteende, men detta är vanligtvis väldigt enkelt och enkelt att implementera.




  1. Verktyg för att skapa en visualisering från befintlig MongoDB

  2. Infoga ordbok i MongoDB med c#-drivrutinen

  3. Beräkna en poäng från ett befintligt fält med villkor

  4. Kan inte ansluta till MongoDB på grund av fel URI