java - 如何从驱动程序检查,如果 mongoDB 服务器正在运行

标签 java mongodb mongo-java

我想知道,是否有办法检查 mongoDB 服务器是否从 mongoDB 的 java 驱动程序运行?

根据教程,我可以做到

Mongo m = new Mongo();
// or
Mongo m = new Mongo( "localhost" , 27017 );
// and
DB db = m.getDB( "mydb" );

但是如何检查我是否可以使用这些 Mongo 和 DB?我在 API 中没有看到 isConnected() 方法。
db.getConnector().isOpen() 

返回真

我找到的唯一方法是调用 db.getDatabaseNames() 并捕获 MongoException。

如果有一些更文明的做法?

最佳答案

您可以运行 ping命令

 Mongo mongo = new Mongo();
 DBObject ping = new BasicDBObject("ping", "1");
 try {
       mongo.getDB("dbname").command(ping);
 } catch (MongoException e) {
       ...
 }

关于java - 如何从驱动程序检查,如果 mongoDB 服务器正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27135746/

相关文章:

node.js - TypeError:无法解构 `db` 或 'undefined' 的属性 'null'

MongoDB 使用 or 查询超集中的子集

java - 如何使用 mongo java 驱动程序将实际查询记录到 MongoDB

java - MongoDB + Java : no $db stored with DbRef?

java - 多种方法

java - 是否存在 Java 7's Hashmap implementation is preferred to Java8' s 实现的场景

java - 当使用 activity.recreate() 屏幕闪烁黑色 0.5 秒

mongodb - 使用数组源获取 mongodb 中的数组子集

java - Mongo Java 客户端 : How can I connect with SSL enabled but no certificate?

java - 如何使用自定义 trustManager 通过 OSGi (karaf) API 注册 Web 服务