Java mongo ping诊断命令何时返回{ok:0}?

Java mongo ping诊断命令何时返回{ok:0}?,java,mongodb,scala,Java,Mongodb,Scala,我不得不为其中一个mongo DB编写一个基本的健康检查,在筛选他们的官方和其他资源(如和)时,我了解到ping命令是解决这个问题的方法(bc它是轻量级的)。现在我的问题是ping命令的响应是否总是{ok:1}?在什么情况下ping响应将返回{ok:0}?有人能解释一下吗?目前,我已经实现捕获异常,如下所示,但是ping响应是否会返回OK:0 val command: Document = new Document("ping", 1) // ping

我不得不为其中一个mongo DB编写一个基本的健康检查,在筛选他们的官方和其他资源(如和)时,我了解到
ping
命令是解决这个问题的方法(bc它是轻量级的)。现在我的问题是ping命令的响应是否总是
{ok:1}
?在什么情况下ping响应将返回
{ok:0}
?有人能解释一下吗?目前,我已经实现捕获异常,如下所示,但是ping响应是否会返回
OK:0

      val command: Document = new Document("ping", 1)
      // ping the db
      val pingResponse = mongoClient.getDatabase("DBNAME").runCommand(command)
      // check for the ping response to be {"ok": 1.0 }
      if (pingResponse.get("ok").equals(1.0)) {   // IS THIS CONDITION NEEDED ? 
                                                  // WILL THIS BE EVER OK:0 ?
        // return healthy
      } else {

      // DO I NEED THIS CONDITION? EVER?? TO RETURN UNHEALTHY?
      // return unHealthy
      }
    } catch {
      case e: Exception =>
        // MUCH NEEDED UNHEALTHY CONDITION
        // return unHealthy

谢谢。

如果在无限循环中运行ping并停止服务器,则可以获得InterruptedTShutton(代码11600)。

如果在无限循环中运行ping并停止服务器,则可以获得InterruptedTShutton(代码11600)。

MongoDB有Scala驱动程序,而不是使用普通的旧Java one…@cchantep和那些驱动程序将以{OK:0}的形式返回ping响应?DB about ping命令的行为在mongo文档中有很好的描述。在另一方面,如果您选择从Scala应用程序执行这样的命令,那么使用Scala驱动程序似乎“有用”@cchantep-您能指出文档在什么时候说ping命令响应可能是
{OK:0}
?MongoDB有Scala驱动程序,而不是使用普通的旧Java one…@cchantep,这些驱动程序将以{OK:0}的形式返回ping响应?DB about ping命令的行为在mongo文档中有很好的描述。在另一方面,如果您选择从Scala应用程序执行这样的命令,那么使用Scala驱动程序似乎“有用”@cchantep-您能指出文档在什么时候说ping命令响应可能是
{OK:0}