MongoDB でのコレクションのドロップまたは削除
- MongoDB のコレクションの削除
-
MongoDB で
drop()
メソッドを使用する -
MongoDB で
remove()
メソッドを使用する - MongoDB でコレクションを削除する
-
drop()
メソッドを使用してコレクションを削除する -
remove()
メソッドを使用してコレクションからすべてのドキュメントを削除する
この記事では、MongoDB でコレクションを削除する際の問題について説明します。 MongoDB でコレクションを削除するために使用されるさまざまな方法について、以下で説明します。
MongoDB のコレクションの削除
MongoDB の削除コレクションには 2つの方法があります。 MongoDB データベース サーバーで drop コマンドを実行すると、出力は true
または false
の形式になります。
コレクションがデータベースに存在し、正常に削除される場合、結果は true
になります。 コレクションがデータベースに存在せず、適切に削除できない場合、結果は false
になります。
MongoDB からコレクションを削除するには、drop および remove メソッドを使用します。 コレクションを削除する場合は、コレクション名を追加で指定する必要があります。
MongoDB で drop()
メソッドを使用する
MongoDB のデータベースからコレクションを削除するには、db.collection.drop()
メソッドを使用します。 データベースからコレクションを削除し、それに接続されたインデックスを残しません。
drop()
メソッドはどのように機能しますか:
-
db.collection.drop()
メソッドとdrop
コマンドは、ドロップされたコレクションで開かれたすべての変更ストリームに対してinvalidate
イベントを作成します。 -
MongoDB 4.4 より前にインデックス構築が進行中のコレクションを削除しようとすると、エラーが発生し、コレクションは破棄されません。 プライマリ インデックスの作成を中止しても、レプリカ セットまたはシャード レプリカ セットのセカンダリ インデックスの作成は中止されません。
代わりに、MongoDB はプライマリで指定されたインデックスの進行中のビルドを終了しようとし、成功した場合は中止
oplog
アイテムを書き込みます。 インデックス ビルドをコミットまたは中止する前に、レプリケートされた進行中のビルドを持つセカンダリ メンバーは、コミットを待機するか、メインからのoplog
エントリを中止します。 -
MongoDB 4.0.2 以降、コレクションを削除すると、関連するゾーン/タグ範囲が削除されます。
-
MongoDB 5.0 以降の
mongos
から admin データベースまたは config データベースのコレクションを削除しようとすると、drop コマンドとdb.collection.drop()
関数でエラーが発生します。 代わりに、構成サーバーに接続し、コマンドを実行してこれらのコレクションを削除してください。
構文:
db.collection_database.drop()
上記の構文では、コレクション データベースは、データベース サーバーから削除するために使用されるコレクションの名前として定義されます。
MongoDB で remove()
メソッドを使用する
コレクションからドキュメントを削除するには、db.collection.remove()
関数を使用します。
構文:
db.collection_database.remove ({})
コレクション データベースは、empty result set ({ })
remove メソッドを渡すとドキュメントを削除する必要があると定義されており、コレクションからすべてのレコードが削除されます。
db.collection_name.remove (<query>, {Writeconcern, justone})
query
パラメーターは、クエリで指定された基準に基づいてコレクションから特定の記事を削除する機能として定義されます。 コレクションから 1つのドキュメントを削除する justone
引数が定義されています。 キーワードを true
に設定して、常に有効にする必要があります。
選択基準に true
キーワードを適用すると、1つのレコードのみが削除されます。 選択基準に真のキーワードを使用しなかった場合、コレクション内のすべての論文が消去されます。
Writeconcern,
を使用する場合、書き込み懸念のデフォルトの使用法はスキップされます。
MongoDB でコレクションを削除する
drop()
メソッドを使用して、インデックスを含むコレクションをデータベースから削除します。 コレクションとそのインデックスは、ドロップ テクニックを使用してデータベース サーバーから削除されます。
remove テクニックを使用して、コレクションから特定のドキュメントを削除できます。 remove メソッドはコレクションからすべてのドキュメントを破棄しますが、インデックスはデータベース サーバーに残り、消去されません。
データベース サーバーからコレクションを削除すると、true
または false
の 2つの結果セットが下に表示されます。
次のクエリは、コレクションがデータベース サーバーから削除されたときに、結果セットに true
値が表示されることを示しています。
クエリ:
show collections
db.test1.drop()
show collections
データベースからコレクションを削除するには、まず問題のデータベースに接続する必要があります。 指定したデータベースに接続またはアクセスしていない場合、コレクションは破棄されません。
以下のクエリは、データベースからコレクションを削除する前に、指定されたデータベースをどのように使用する必要があるかを示しています。
クエリ:
db.col_stat.drop()
use test
db.col_stat.drop()
show collections
drop()
メソッドを使用してコレクションを削除する
コマンド show dbs
を使用して、アクセス可能なデータベースのリストを表示します。
新しいデータベース mydb>,
を削除する場合は、dropDatabase()
コマンドを次のように使用します。
今データベースのチェックリスト。
remove()
メソッドを使用してコレクションからすべてのドキュメントを削除する
mycol
データセットからの次のデータを検討してください。
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}
次の例では、タイトル 'MongoDB Overview'
を持つすべてのレコードを削除します。
多数のレコードがあり、最初のレコードを削除したい場合は、remove()
関数で justOne
オプションを使用します。
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
削除基準が指定されていない場合、MongoDB はコレクションからドキュメント全体を削除します。 これは、SQL truncate コマンドに対応するものです。
データベースからすべてのデータが削除されるため、db.mycol.find()
の後には何も表示されません。
この記事では、MongoDB でコレクションをドロップまたは削除する方法を説明しました。 drop() メソッドはコレクションとそのインデックスを削除し、remove メソッドはコレクションから 1つまたはすべてのドキュメントを削除します。
コレクションがデータベースに存在する場合、結果セットは結果を true として表示し、false
出力を表示します。