2

是否可以询问 MongoDB 主机是否是使用 Java 驱动程序的主机?

我已经检查了Ask MongoDB if it is Master out of a bashscript的问题,但我宁愿尝试在我的应用程序中执行此操作,而不是在 bash 脚本中连接。

4

1 回答 1

1

也许 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对象并按照您的意愿进行操作。

于 2013-09-03T23:35:17.773 回答