是否可以检查mongoDB是否从cxx驱动程序运行?

时间:2016-11-04 16:59:18

标签: mongodb c++11 mongo-cxx-driver

我想知道我是否能够检查mongoDB是否从Cxx驱动程序运行。我使用的版本是3.0.1。

我厌倦了深入研究mongocxx::clientmongocxx::v_noabi::collection,但我找不到似乎可以完成这项任务的功能/方法。

如果数据库未运行,则查询将失败并引发异常。但是,我的应用程序可以立即告诉我mongoDB是否正在运行,而不是在执行查询时抛出异常。

感谢。

1 个答案:

答案 0 :(得分:3)

由于分布式系统的性质,不能保证网络正常运行,数据库启动等等。这意味着如果无法访问数据库,则需要为所有查询和写入做好准备。既然你已经应该考虑到这一点,那么最好依靠它,而不是单独的“检查数据库是否已启动”测试。

以这种方式思考:在检查“数据库已启动”和下一次操作之间存在竞争条件。我们建议不要比赛 - 只需编写应用程序来处理故障。

如果 - 尽管有这样的建议 - 您确实想要进行一次性检查,请使用mongocxx::database::run_command向管理数据库发送{"ismaster" : 1}命令。