sql >> データベース >  >> NoSQL >> MongoDB

MongoDBへの接続はprocess.exit()で自動的に閉じられますか?

    答えはいいえです 。 DB接続は、終了(またはクラッシュ)したときに正常にシャットダウンしません。

    これを行うには、次のようなものを使用する必要があります:

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

    この動作を処理するパッケージもいくつかありますが、これは通常、非常に簡単で、実装が簡単です。




    1. Nodejsパフォーマンスの最適化

    2. PythonでBSONファイルを読みますか?

    3. c#mongodbへの書き込み/読み取り中にプロパティを暗号化/復号化します

    4. 集計後に元のドキュメントを元に戻す方法