2

Java ドライバーを使用して MongoDB ホストがマスターであるかどうかを確認することはできますか?

問題を確認しましたMongoDB が bashscript のマスターであるかどうかを確認しましたが、bash スクリプトで配線するのではなく、アプリケーションでこれを実行したいと思います。

4

1 に答える 1

1

Java ドライバーにはヘルパー関数が提供されていない可能性がありますが、それでもドライバーでコマンドを発行できます。

MongoDB シェルに入って印刷すると、

db.isMaster(括弧なし)

Enter キーを押すと、JavaScript インタープリターがヘルパー関数の実装を出力します。コンテキストdbでは、isMaster()関数は次のコードを持つヘルパーです。

function () { return this.runCommand("isMaster"); }

そのため、バックグラウンドdb.runCommand("isMaster")で実行されます。Mongo Shell には多くのヘルパーがあり、そのうちのいくつかはかなり複雑で、日常の管理作業を簡素化します。

class のオブジェクトで次のメソッドを使用して、Java Driver で同じことを行うことができます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 に答える