The local Database
数据库local
概述
每个mongod
实例都有自己的local
数据库,用于存储复制过程中使用的数据以及其他特定于实例的数据。数据库对复制是不可见的local
:数据库中的集合local
不会被复制。
mongod
所有实例上的集合
local.startup_log
在启动时,每个
mongod
实例都会插入一个文档到startup_log
mongod
包含有关实例本身和主机信息的诊断 信息。startup_log
是一个上限集合。此信息主要用于诊断目的。例如,以下是来自startup_log
收藏:{ "_id" : "<string>", "hostname" : "<string>", "startTime" : ISODate("<date>"), "startTimeLocal" : "<string>", "cmdLine" : { "dbpath" : "<path>", "<option>" : <value> }, "pid" : <number>, "buildinfo" : { "version" : "<string>", "gitVersion" : "<string>", "sysInfo" : "<string>", "loaderFlags" : "<string>", "compilerFlags" : "<string>", "allocator" : "<string>", "versionArray" : [ <num>, <num>, <...> ], "javascriptEngine" : "<string>", "bits" : <number>, "debug" : <boolean>, "maxBsonObjectSize" : <number> }}
文件在startup_log
集合包含以下字段:local.startup_log._id
包括系统主机名和毫秒纪元值。local.startup_log.hostname
系统的主机名。local.startup_log.startTime
反映服务器启动时间的 UTC ISODate值。local.startup_log.startTimeLocal
报告的字符串startTime
在系统的本地时区。local.startup_log.cmdLine
报告mongod
运行时选项及其值的嵌入式文档。local.startup_log.pid
此进程的进程标识符。local.startup_log.buildinfo
一个嵌入式文档,报告有关构建环境和用于编译它的设置的信息mongod
。这与 的输出相同buildInfo
。看buildInfo
。
副本集节点上的集合
local.system.replset
local.system.replset
将副本集的配置对象作为其单个文档保存。要查看对象的配置信息,请rs.conf()
从mongosh
. 您也可以直接查询此集合。local.oplog.rs
local.oplog.rs
是包含 oplog的上限集合。您可以使用设置在创建时设置其大小oplogSizeMB
。要在副本集启动后调整 oplog 的大小,请使用 Change the Size of the Oplog过程。有关其他信息,请参阅Oplog 大小部分。从 MongoDB 4.0 开始,oplog 可以增长到超过其配置的大小限制以避免删除majority commit point
.从 MongoDB 5.0 开始,不再可能对作为副本集运行的集群上的oplog执行手动写入操作。在作为 独立实例运行时对 oplog 执行写操作只能在 MongoDB 支持的指导下完成。local.replset.minvalid
这包含副本集在内部使用的对象,用于跟踪复制状态。
限制
多文档事务
local
您不能在 多文档事务
local
中对数据库中的集合执行读/写操作。可重试写入
local
您不能在启用可重试写入
local
的情况下对数据库中的集合执行写入操作。官方 MongoDB 4.2 系列驱动程序默认启用可重试写入。写入local
数据库的应用程序在升级到 4.2 系列驱动程序时会遇到写入错误,除非明确禁用可重试写入。要禁用可重试写入, 请在 MongoDB 集群retryWrites=false
的 连接字符串中指定。
原文 链接- https://docs.mongodb.com/manual/reference/local-database/
译者:陆文龙