sql >> Databáze >  >> NoSQL >> MongoDB

Je připojení k MongoDB automaticky uzavřeno na process.exit()?

Odpověď je ne . DB připojení se při ukončení (nebo zhroucení) řádně neukončí.

K tomu byste měli použít něco podobného jako:

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

Existují také některé balíčky, které toto chování zvládají, ale obvykle je to velmi přímočaré a snadno implementovatelné.




  1. MongoDB C# Driver a server generované ObjectId

  2. Chcete implementovat webové sokety v Laravelu

  3. Probíhá Mongo query db.collection.runCommand(text,{search:hledaný text})

  4. MongoDB:Najděte hodnoty polí daného dokumentu v objektu s neznámým klíčem