是否可以询问 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 驱动程序中对 class 对象使用以下方法执行相同操作DB
:
CommandResult command(DBObject cmd, int options, ReadPreference readPrefs, DBEncoder encoder)
执行数据库命令。
CommandResult command(String cmd, int options)
执行数据库命令。
所以不需要DBObject
为命令构造a,只需传递字符串:"isMaster"
。预测一个CommandResult
对象并按照您的意愿进行操作。