在MongoDB的Java Driver中,它是否支持直接读取mongo shell命令?我正在为Java中的Mongo dba创建一个Mongo客户端,并希望允许用户键入任何类型的Mongo shell命令,但我不确定是否可以通过Mongo Java Driver执行所有dba任务。
例如,当用户在mongo shell中键入show dbs
或show collections
时,将显示数据库或集合列表。此外,dba可以键入rs.status(), rs.config()
命令来执行某些管理任务。我想知道mongo java驱动程序是否支持这种输入。我知道我可以使用像database.runCommand(new Document(...));
这样的Java驱动程序中的一些API,但它需要在shell命令和Java方法之间进行一些翻译任务。是否有更好的方法来做到这一点?
答案 0 :(得分:0)
protected CommandResult runReplicaSetStatusCommand(final Mongo pMongo) {
// Check to see if this is a replica set... if not, get out of here.
final CommandResult result = pMongo.getDB("admin").command(
new BasicDBObject("replSetGetStatus", 1));
final String errorMsg = result.getErrorMessage();
if (errorMsg != null && errorMsg.indexOf("--replSet") != -1) {
System.err
.println("This is not a replica set - not testing secondary reads");
return null;
获取完整示例