Docs Menu
Docs Home
/ /

db. コレクション.drop()(mongoshメソッド)

MongoDB とドライバー

このページでは、 mongosh メソッドについて説明します。MongoDB ドライバーで同等のメソッドを確認するには、ご使用のプログラミング言語の対応するページを参照してください。

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.drop(<options>)

データベースからコレクションまたは ビューを削除します。このメソッドでは、削除されたコレクションに関連付けられているインデックスも削除されます。drop() は、drop コマンドのラッパーです。

次の値を返します。true

注意

指定されたコレクションが存在しない場合でも、db.collection.drop()trueを返します。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

drop()メソッドの形式は次のとおりです。

db.collection.drop( { writeConcern: <document> } )

drop() メソッドは、次のフィールドを持つ任意のドキュメントを受け取ります。

フィールド
説明

writeConcern

  • drop()メソッドとdrop コマンドは、削除されたコレクションで開かれた 変更ストリーム 無効化イベント を作成します。

  • db.collection.drop() メソッドと drop コマンドは、コレクションを削除する前に、ターゲット コレクションで進行中のインデックス構築を中止します。

    レプリカセットまたはシャーディングされたレプリカセットの場合、プライマリでインデックスを中止しても、セカンダリでのインデックス構築は同時に中止されません。MongoDB は、指定されたインデックスの進行中の構築をプライマリで中止しようとし、成功した場合には関連する abortoplog エントリを作成します。進行中の構築が複製されたセカンダリ ノードは、インデックス構築をコミットまたは中止する前に、プライマリからのコミットまたは中止の oplog エントリを待ちます。

  • コレクションを削除すると、それに関連付けられたゾーンやタグの範囲も削除されます。

  • MongoDB 5.0 以降では、管理データベースまたはコンフィギュレーションデータベース内のコレクションを mongos から削除しようとすると、drop コマンドと db.collection.drop() メソッドによってエラーが返されます。これらのコレクションを削除するには、コンフィギュレーションサーバーに接続して、コマンドを実行します。

    警告

    管理データベースまたは構成データベース内のコレクションを削除すると、クラスターが使用できない状態になる可能性があります。

  • MongoDB 6.0 以降では、drop() により、指定されたコレクションと暗号化されたフィールドに関連するあらゆる内部コレクションが削除されます。

    重要

    mongosh drop() メソッドの動作は、ドライバーの drop メソッドの動作と異なります。指定されたコレクションと暗号化されたフィールドに関連する内部コレクションの両方を削除するには、ドライバーの接続で自動暗号化が有効になっている必要があります。指定されたコレクションと暗号化されたフィールドに関連する内部コレクションの両方が mongosh により必ず削除されます。

MongoDB 5.0 以降を実行中のシャーディングされたクラスターでは、特別なアクションは必要ありません。drop() メソッドを使用して、同じ名前の新しいコレクションを作成します。

db.collection.drop()は、操作中、指定されたコレクションに対する排他ロックを取得します。 コレクションに対する後続のすべての操作は、 db.collection.drop()がロックを解放するまで待機する必要があります。

次の操作は、現在のデータベース内のstudentsコレクションを削除します。

db.students.drop()

次の操作は、現在のデータベース内のstudentsコレクションを削除します。この操作では、 1件の書込み保証を使用します。

db.students.drop( { writeConcern: { w: 1, j: true } } )

戻る

db.collection.d distinct

項目一覧