Docs Menu
Docs Home
/ / /
Java 同期
/

コマンドの実行

MongoDatabase.runCommand()メソッドを使用して、すべての未加工データベース操作を実行できます。 Raw データベース操作は、MongoDB Server CLI で直接実行できるコマンドです。 これらのコマンドには、サーバーの統計情報の取得やレプリカセットの初期化など、管理および診断タスクが含まれます。 MongoDatabaseのインスタンスでBsonコマンド オブジェクトを使用してrunCommand()メソッドを呼び出し、未加工のデータベース操作を実行します。

Tip

これらのタスクは Java アプリケーションよりも shell で実装する方が速くて簡単であるため、可能な場合は Java ドライバーの代わりにMongoDB Shellを管理タスクに使用します。

runCommand()メソッドはBsonオブジェクト形式のコマンドを受け入れます。 デフォルトでは、 runCommandはデータベースコマンドの出力を含むorg.bson.Document型のオブジェクトを返します。 任意の 2 つ目のパラメータとして、 runCommand()の戻り値の型を指定できます。

次のサンプル コードでは、特定の MongoDB database から統計情報をリクエストするために、 dbStatsコマンドを送信します。

注意

この例では、接続 URI を使用して MongoDB のインスタンスに接続します。 MongoDB インスタンスへの接続の詳細については、「 接続ガイド 」を参照してください。

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));
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}

Tip

Legacy API

レガシー API を使用している場合は、 FAQ ページ を参照して、このコード例に加える必要がある変更を確認してください。

このページで言及されているクラスとメソッドについての追加情報については、次のリソースを参照してください。

  • runCommand() API ドキュメント

  • データベース コマンドサーバー マニュアル エントリ

  • dbStats Server マニュアル エントリ

戻る

フィールドの個別の値を取得