<分区>
是否可以询问 MongoDB 主机是否是使用 Java 驱动程序的主机?
我检查了问题 Ask MongoDB if it is Master out of a bashscript但我宁愿尝试在我的应用程序中执行此操作,也不愿在 bash 脚本中进行连接。
<分区>
是否可以询问 MongoDB 主机是否是使用 Java 驱动程序的主机?
我检查了问题 Ask MongoDB if it is Master out of a bashscript但我宁愿尝试在我的应用程序中执行此操作,也不愿在 bash 脚本中进行连接。
最佳答案
也许没有为 Java 驱动程序提供辅助函数,但您仍然可以使用驱动程序发出命令。
如果您进入 MongoDB Shell,并打印
db.isMaster
(没有括号)
然后按回车键,JavaScript 解释器将打印出辅助函数的实现。在 db
上下文中,isMaster()
函数是一个辅助函数,代码如下:
function () { return this.runCommand("isMaster"); }
于是在后台执行了db.runCommand("isMaster")
。 Mongo Shell 中有很多助手,其中一些相当复杂,可以简化您的日常管理工作。
您可以在 Java 驱动程序中对 DB
类的对象执行以下方法:
CommandResult 命令(DBObject cmd、int options、ReadPreference readPrefs、DBEncoder 编码器)
执行数据库命令。
CommandResult command(String cmd, int options)
执行数据库命令。
因此不需要为命令构造一个DBObject
,只需要传递字符串:"isMaster"
。预期 CommandResult
对象并按您的意愿继续。
关于java - 使用 Java Driver 询问 MongoDB host 是否为 Master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18593555/