定義
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
注意
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
db.dropDatabase() 任意パラメーターを取ります。
フィールド | 説明 | |
|---|---|---|
writeConcern | 任意。
レプリカセット上で発行した際、指定された書込み保証によってノードの承認応答が書込み保証 シャーディングされたクラスターで発行されると、MongoDB は指定された書込み保証 (write concern) を See also Behavior. |
動作
dropDatabase() dropDatabase コマンドをラップします。
ロック
この操作では、排他(X)データベース ロックのみが使用されます。
ユーザー管理
このコマンドは、現在のデータベースに関連付けられているユーザーは削除しません。関連付けられているユーザーを削除するには、削除するデータベースでdropAllUsersFromDatabaseコマンドを実行します。
Indexes
The db.dropDatabase() method and dropDatabase command abort any in-progress index builds on collections in the target database before dropping the database. Aborting an index build has the same effect as dropping the built index.
レプリカセットまたはシャーディングされたレプリカセットの場合、プライマリでインデックスを中止しても、セカンダリでのインデックス構築は同時に中止されません。MongoDB は、指定されたインデックスの進行中の構築をプライマリで中止しようとし、成功した場合には関連する abort の oplog エントリを作成します。進行中の構築が複製されたセカンダリ ノードは、インデックス構築をコミットまたは中止する前に、プライマリからのコミットまたは中止の oplog エントリを待ちます。
レプリカセットとシャーディングされたクラスター
- レプリカセット
最低でも、
dropDatabase()は、データベース内のすべてのコレクションの削除が、書込み保証 (write concern)"majority"を使用してレプリカセットの郎ノードの過半数に伝播されるまで待機します。メソッドに書込み保証 (write concern)を指定することができます。過半数よりも少ないユーザーからの承認を必要とする書込み保証 (write concern)を指定した場合、メソッドは書込み保証 (write concern)
"majority"を使用します。過半数以上の承認を必要とする書き込み保証を指定した場合、メソッドでは指定した書き込み保証が使用されます。
- シャーディングされたクラスター
シャーディングされたクラスターで発行されると、MongoDB は指定された書込み保証 (write concern) を
"majority"に変換します。削除されたデータベースと同じ名前で新しいデータベースを作成する場合は、
mongosでdropDatabaseコマンドを実行する必要がありますこれにより、すべてのクラスター ノードがメタデータ キャッシュを更新します。これには、新しいデータベースのプライマリ シャードのロケーションが含まれます。 そうしないと、読み取りのデータが失われる可能性があり、正しいシャードにデータが書き込まれない可能性があります。 回復するには、手動で中断する必要があります。
Starting in MongoDB 5.0, the
dropDatabasecommand and thedb.dropDatabase()method return an error if you try to drop the admin database or the config database from amongos.警告
管理データベースまたはコンフィギュレーションデータベースを削除 (drop) すると、クラスターが使用できない状態になる可能性があります。
変更ストリーム
db.dropDatabase()メソッドと コマンドは、削除されたデータベースまたはそのコレクションで開かれているすべての MongoDBdropDatabase Change Streams に対して 無効化イベント を作成します。
例
The following example in mongosh uses the use <database> operation to switch the current database to the temp database and then uses dropDatabase() to drop the temp database:
use temp db.dropDatabase()
Tip