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 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