【发布时间】:2014-03-13 00:28:07
【问题描述】:
我有一个以 MongoDB 作为后端的应用程序。当应用程序启动时,我会设置连接并稍后在请求时使用它。
但如果同时我的数据库连接失败(即 mongod 崩溃),我如何在请求时间检查?
澄清一下:
- 目前我有一个“api.js”,它是
db.once('open', function../* setup */) - 应要求,我会
db.find(conditions, function(err, res) { if (err) ...else ...})。
我想要做的是在db.find() 子句之前检查连接是否存在。所以如果它挂了,我可以尝试重新启动数据库连接。
附:我知道,我可能应该设置某种连接池或类似的东西,而不是一直保持连接处于活动状态,但现在它已按原样设置。
【问题讨论】:
-
好的,假设检测连接状态错误的最快方法是首先尝试操作并重试失败 (stackoverflow.com/questions/8936922/…) 封装该重试的最优雅方式是什么,你觉得呢?