2016-11-04 79 views
1

我想知道如果我能够检查,如果mongoDB从Cxx驱动程序运行。我使用的版本是3.0.1。是否可以检查mongoDB是否从cxx驱动程序运行?

我厌倦了挖掘到mongocxx::clientmongocxx::v_noabi::collection,但我找不到一个似乎可以完成这项工作的函数/方法。

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

谢谢。

回答

3

由于分布式系统的特性,不能保证网络已经启动,数据库已经启动等等。这意味着如果无法访问数据库,则需要准备好所有查询和写入操作,以确保可能发生故障。既然你已经应该考虑到这一点,最好依靠它而不是独立的“检查数据库是否正常”测试。

想想这样:你在检查“是数据库了”还是你的下一个操作之间有竞争条件。我们建议不要赛车 - 只需编写应用程序来处理故障。

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

+0

谢谢,我想我会在我的项目中实现一个更好的异常处理解决方案。 – Joe

相关问题