当我进行调试时,我会多次启动和终止我的节点进程。这使得这种情况发生了:
2014-07-20T15:53:19.162-0400 [conn352] authenticate db
2014-07-20T15:53:19.163-0400 [conn353] authenticate db
2014-07-20T16:13:59.631-0400 [conn354] authenticate db
2014-07-20T16:13:59.635-0400 [conn355] authenticate db
2014-07-20T16:13:59.636-0400 [conn356] authenticate db
2014-07-20T16:13:59.636-0400 [conn357] authenticate db
2014-07-20T16:19:01.747-0400 [conn358] authenticate db
2014-07-20T16:19:01.750-0400 [conn359] authenticate db
2014-07-20T16:19:01.751-0400 [conn360] authenticate db
2014-07-20T16:19:01.767-0400 [conn361] authenticate db
2014-07-20T16:19:33.227-0400 [conn362] authenticate db
2014-07-20T16:19:33.229-0400 [conn363] authenticate db
2014-07-20T16:19:33.230-0400 [conn364] authenticate db
2014-07-20T16:19:33.239-0400 [conn365] authenticate db
2014-07-20T17:04:08.577-0400 [conn366] authenticate db
2014-07-20T17:04:08.579-0400 [conn367] authenticate db
2014-07-20T17:04:08.580-0400 [conn368] authenticate db
2014-07-20T17:04:08.580-0400 [conn369] authenticate db
2014-07-20T17:05:15.783-0400 [conn370] authenticate db
2014-07-20T17:05:15.785-0400 [conn371] authenticate db
如何在终止节点进程之前关闭mongodb连接(db.close()
)?有没有办法在客户端JS中添加像beforeunload
这样的事件监听器?或者我是否必须配置db选项以自动执行此操作?
答案 0 :(得分:1)
您可以在process
上收听'exit' event,但是您无法在那里执行任何异步操作,因为您内部没有任何内容可以退出'处理程序可以/将使进程保持打开状态。
你应该做什么而不是强行退出你的过程是通过关闭任何打开的连接,服务器等让它自然退出。