コマンドの実行
MongoDatabase.runCommand()
メソッドを使用して、すべての未加工データベース操作を実行できます。 Raw データベース操作は、MongoDB Server CLI で直接実行できるコマンドです。 これらのコマンドには、サーバーの統計情報の取得やレプリカセットの初期化など、管理および診断タスクが含まれます。 MongoDatabase
のインスタンスでBson
コマンド オブジェクトを使用してrunCommand()
メソッドを呼び出し、未加工のデータベース操作を実行します。
重要
データベースコマンドよりもドライバー メソッドを優先
このドライバーは、多くのデータベース コマンドのラッパー メソッドを提供します。 可能な場合は、データベースコマンドを実行する代わりにドライバー メソッドを使用することをお勧めします。
管理タスクを実行するには、Java ドライバーの代わりに MongoDB Shellを使用します。 データベースコマンドを発行するには、shell 内でdb.runCommand()
メソッドを呼び出す方法がおすすめです。これにより、shell とドライバー間の一貫したインターフェースが提供されます。
runCommand()
メソッドはBson
オブジェクト形式のコマンドを受け入れます。 デフォルトでは、 runCommand
はデータベースコマンドの出力を含むorg.bson.Document
型のオブジェクトを返します。 任意の 2 つ目のパラメータとして、 runCommand()
の戻り値の型を指定できます。
例
次のサンプル コードでは、特定の MongoDB database から統計情報をリクエストするために、 dbStats
コマンドを送信します。
注意
この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。
// Runs a database command by using the Java driver package usage.examples; import org.bson.BsonDocument; import org.bson.BsonInt64; import org.bson.Document; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; public class RunCommand { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); try { Bson command = new BsonDocument("dbStats", new BsonInt64(1)); // Retrieves statistics about the specified database Document commandResult = database.runCommand(command); // Prints the database statistics System.out.println("dbStats: " + commandResult.toJson()); } catch (MongoException me) { // Prints a message if any exceptions occur during the command execution System.err.println("An error occurred: " + me); } } } }
上記のコマンドを実行すると、次のような出力が表示されます。
dbStats: {"db": "sample_mflix", "collections": 5, "views": 0, "objects": 75595, "avgObjSize": 692.1003770090614, "dataSize": 52319328, "storageSize": 29831168, "numExtents": 0, "indexes": 9, "indexSize": 14430208, "fileSize": 0, "nsSizeMB": 0, "ok": 1}
このページで言及されているクラスとメソッドについての追加情報については、次のリソースを参照してください。
runCommand() APIドキュメント
データベース コマンドサーバー マニュアル エントリ
dbStats Server マニュアル エントリ