2016-11-04 78 views
1

我想知道如果我能夠檢查,如果mongoDB從Cxx驅動程序運行。我使用的版本是3.0.1。是否可以檢查mongoDB是否從cxx驅動程序運行?

我厭倦了挖掘到mongocxx::clientmongocxx::v_noabi::collection,但我找不到一個似乎可以完成這項工作的函數/方法。

如果數據庫未運行,查詢將失敗並引發異常。但是,我的應用程序可以立即告訴我mongoDB是否正在運行,而不是在執行查詢時拋出異常。

謝謝。

回答

3

由於分佈式系統的特性,不能保證網絡已經啓動,數據庫已經啓動等等。這意味着如果無法訪問數據庫,則需要準備好所有查詢和寫入操作,以確保可能發生故障。既然你已經應該考慮到這一點,最好依靠它而不是獨立的「檢查數據庫是否正常」測試。

想想這樣:你在檢查「是數據庫了」還是你的下一個操作之間有競爭條件。我們建議不要賽車 - 只需編寫應用程序來處理故障。

如果 - 儘管有此建議 - 您確實想要做一次性檢查,請使用mongocxx::database::run_command向管理數據庫發送{"ismaster" : 1}命令。

+0

謝謝,我想我會在我的項目中實現一個更好的異常處理解決方案。 – Joe

相關問題