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.preimages在启用 changeStreamPreAndPostImages 选项的情况下,存储集合中已修改文档的早期版本。当前图像过期时,
config.system.preimages集合会被自动清除。详见changeStreamOptions.preAndPostImages.expireAfterSeconds。
特定数据库集合
系统集合还包括直接存储在每个数据库中的以下集合:
<database>.system.js<database>.system.js集合存储用于服务器端JavaScript 的特殊JavaScript代码。有关更多信息,请参阅在服务器上存储JavaScript函数。
<database>.system.views<database>.system.views集合包含有关数据库中每个视图的信息。从MongoDB5.0
"5.0"开始,对于设立为 或更大的<database>.system.viewsfeatureCompatibilityVersion,用户无法再直接写入 集合。