Synopsis
MongoDB は、 <database>.system.* 名前空間を使用するコレクションにシステム情報を保存します。この名前空間は MongoDB によって内部使用のために予約されるため、 systemで始まるコレクションは作成できません。
MongoDB は、具体的にはレプリケーション目的で、および local.replset.*セッション情報 用にコンフィギュレーション データベース に、 ローカルデータベース 名前空間に追加のインスタンス ローカル メタデータを保存します。
MongoDB Atlasおよびその他のMongoDB クラウドサービスでは、プレフィックス__mdb_internal_* を使用する専用データベースに重要な運用データが保存されます。このプレフィックスを持つデータベースにはアクセスしたり、変更したりしないでください。管理ツールではこれらの名前空間を無視することをお勧めします。これらのクラウド固有のデータベースの詳細については、「 内部データベース 」を参照してください。
コレクション
システム コレクションには、admin データベースに保存されている次のコレクションが含まれます。
admin.system.rolesadmin.system.rolesコレクションは、管理者が作成してユーザーに割り当て、特定のリソースへのアクセスを提供するカスタムロールを保存しています。
admin.system.usersadmin.system.usersコレクションは、ユーザーの認証情報と、ユーザーに割り当てられたロールを保存しています。ユーザーは、admin.system.rolesコレクションで承認ロールを定義できます。
admin.system.versionadmin.system.versionコレクションは、内部操作をサポートするためのメタデータを保存しています。このドキュメントまたは MongoDB サポート エンジニアから特に指示されない限り、このコレクションを変更しないでください。
システム コレクションには、config データベースに保存されている次のコレクションが含まれます。
config.system.indexBuildsindexBuildsコレクションには、進行中のインデックス ビルドに関連する情報が保存されます。
config.system.preimagesChangeStreamPreAndPostImages オプションが有効になっているコレクションから、変更されたドキュメントの以前のバージョンを保存します。プレイメージの有効期限が切れると、
config.system.preimagesコレクションは自動的に消去されます。詳しくは、changeStreamOptions.preAndPostImages.expireAfterSecondsを参照してください。
データベース固有のコレクション
システム コレクションには、各データベースに直接保存される次のコレクションも含まれます。
<database>.system.buckets時系列コレクションに関連付けられた基礎データを格納します。
system.bucketsコレクションは、永続化された時系列データを効率的に表現するために、最適化された形式とスキーマでデータを格納します。このコレクションは変更しないでください。
重要
MongoDB8.0 にアップグレードする際に、時系列コレクションではない
system.bucketsコレクションがある場合は、droprenameに応じて、アップグレードする前にそれらのコレクションを または8 する必要があります。0 パッチ リリース:- MongoDB 8.0.5 以降
- アップグレードする前に、時系列コレクションではない
system.bucketsコレクションを削除する必要はありません。ただし、アップグレードが完了した後に、これらを削除するか、名前を変更する必要があります。 - MongoDB 8.0.4 以前
- アップグレードする前に、時系列コレクションではない
system.bucketsコレクションを削除するか、名前を変更する必要があります。すべてのsystem.bucketsコレクションは、 8.0.0-8.0.4 のバージョンにアップグレードする前に、有効な時系列オプションを構成する必要があります。
時系列コレクションではない
system.bucketsコレクションがあるかどうかを判断するには、フィルタを指定したdb.getCollectionInfos()メソッドを使用します。db.getCollectionInfos( { $and: [ { name: { $regex: /^system\.buckets/ } }, { 'options.timeseries': { $exists: false } } ] } )
<database>.system.profile<database>.system.profileコレクションには、データベースのプロファイリング情報が保存されています。プロファイリングの詳細については、「データベースプロファイラー」を参照してください。
<database>.system.js<database>.system.jsコレクションには、サーバーサイド JavaScriptで使用する特別な JavaScript コードが保存されています。 詳細については、「 JavaScript 関数をサーバーに保存する 」を参照してください。
<database>.system.views<database>.system.viewsコレクションには、データベース内の各ビューに関する情報が含まれています。MongoDB 5.0 以降では、featureCompatibilityVersion が
"5.0"以上に設定されている場合、ユーザーは<database>.system.viewsコレクションに直接書き込むことができなくなります。