MongoDB从Java驱动程序运行命令replSetGetStatus

时间:2017-11-28 14:20:52

标签: java mongodb mongodb-java

我想将Java驱动程序中副本集的每个成员的详细状态检索为BSON文档,然后处理该文档。但是,我在检索步骤时遇到问题。我的代码如下:

MongoClient shard = new MongoClient(new MongoClientURI("mongodb://" + shardUri));

BasicDBObject replStatCmd = new BasicDBObject("replSetGetStatus", 1);
Document replStatus = shard.getDatabase("admin").runCommand(replStatCmd);

System.out.println(replStatus);

我可以在Mongo shell的admin数据库中运行此命令。但我在Java中的实现没有返回任何文档,代码永远不会到达println()行。谁能给我一些建议?

1 个答案:

答案 0 :(得分:0)

你可以试试这个,

DB db = shard.getDatabase("admin");
DBObject cmd = new BasicDBObject();
cmd.put("replSetGetStatus", 1);
CommandResult result = db.command(cmd);

或者在较新的API版本中,使用Document类来自包org.bson

DB db = shard.getDatabase("admin");
Document documentA = db.runCommand(new Document("replSetGetStatus",1));