Docs Menu
Docs Home
/ / /
Java Sync Driver
/

コマンドの実行

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}

Tip

Legacy API

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

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

戻る

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