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

Lukkes en forbindelse til MongoDB automatisk på process.exit()?

Svaret er nej . DB-forbindelser lukker ikke elegant ned, når du afslutter (eller går ned).

For at gøre det skal du bruge noget, der ligner:

// 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);

Der er også nogle pakker til at håndtere denne adfærd, men dette er normalt meget ligetil og nemt at implementere.




  1. include_type_name parameter er sat til true i node.js

  2. Hvordan kan jeg udføre en sætning EFTER en loop er færdig i javascript?

  3. Cast to Number mislykkedes for værdien NaN (typenummer) ved sti på et beregnet felt Mongoose

  4. MongoDB kopierer et felt til en anden samling med en fremmednøgle