MongoDB Truncate コレクション

Shraddha Paghdar 2023年6月20日
MongoDB Truncate コレクション

コレクション は、すべてのドキュメントを含むフォルダーにすぎません。 上限付きコレクションを利用する場合、コレクションに追加できるレコード数には上限があります。

ドキュメントの最大サイズは 16MB です。 新しい コレクション を作成して、現在のコレクションからドキュメントを削除したい場合があります。

必要に応じて、以下の コレクション を切り捨てる 2つの選択肢のいずれかを選択できます。 今日の記事では、MongoDB で コレクション を切り詰める方法を学びます。

MongoDB で collection を切り捨てる

プロジェクトの要件に基づいて、drop() または remove() のいずれかを使用できます。 コレクション のすべてのデータとインデックスを削除する場合は drop() を使用できますが、remove() は一致するドキュメントを削除し、インデックスを保持 (更新) します。

以下の drop() メソッドから始めましょう。

drop() メソッドを使用する

MongoDB では、drop() メソッドを使用してデータベースから collection を削除できます。 コレクション はデータベースから削除され、ダンプされたコレクションにリンクされているインデックスもすべて削除されます。

db.collection.drop() メソッドは、引数とともに使用するとエラーをスローし、引数を受け入れません。 drop コマンドが collection の削除に成功すると、true を返します。

ドロップする collection がない場合は false を返します。 drop() メソッドの詳細については、こちら を参照してください。

構文:

> db.collectionName.drop()

次の例を使用して、前述のアイデアを理解してみましょう。

> db.users.drop()

以前のサンプルのすべての user コレクションを削除しています。これにより、関連するインデックスも自動的に削除されます。 上記のコード行を、MongoDB と互換性のある MongoShell で実行します。

次の結果が表示されます。

true

remove() メソッドを使用する

MongoDB では、remove() メソッドを使用してデータベースから collection を削除できます。

ただし、レプリカ セットのシナリオでは、この方法はかなり遅くなります。なぜなら、oplogには、単一のコレクションドロップ コマンドではなく、削除された各ドキュメントのエントリが含まれるためです。

remove() メソッドは capped コレクションと互換性がありません。 remove() メソッドは、時系列のコレクションには適用されません。 ニーズに応じて、効果的なアプローチを選択してください。

remove()collection を正常に削除すると、オペレーションのステータスを含む WriteResult オブジェクトを返します。 remove() の詳細については こちら を参照してください。

構文:

> db.collectionName.remove({})

次の例を使用して、前述のアイデアを理解してみましょう。

> db.users.remove({})

上記のサンプルでは完全な user コレクション データが削除されますが、このメソッドはコレクションにリンクされたインデックスを削除しません。 上記のコード行を、MongoDB と互換性のある MongoShell で実行します。 次の結果が表示されます。

WriteResult({ "nRemoved" : 3300 })
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

関連記事 - MongoDB Collection