本地数据库
在本页面
Overview
每个mongod实例都有自己的local
数据库,该数据库存储复制过程中使用的数据以及其他特定于实例的数据。 local
数据库对复制不可见:local
数据库中的集合不被复制。
所有 mongod 实例上的集合
local.
startup_log
- 启动时,每个mongod实例都会将文档包含mongod实例本身的诊断信息和主机信息插入startup_log。 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
副本集成员上的收藏集
-
local.system.
replset
- local.system.replset将副本集的配置对象保存为单个文档。要查看对象的配置信息,请从mongo shell 发出rs.conf()。您也可以直接查询此集合。
-
local.oplog.
rs
- local.oplog.rs是包含oplog的有上限集合。您可以在创建时使用oplogSizeMB设置其大小。要在副本集启动后调整操作日志的大小,请使用更改操作日志的大小过程。有关更多信息,请参见Oplog Size部分。
-
local.replset.
minvalid
- 它包含一个对象,副本集在内部使用该对象来跟踪复制状态。
-
local.
slaves
- *在版本 3.0 中已删除:*副本集成员不再将集合的复制状态镜像到local.slaves集合。请改用rs.status()。
主/从复制中使用的集合
在master/slave复制中,local
数据库包含以下集合:
-
在高手:
-
local.oplog.
$main
- 这是主从配置的操作日志。
-
local.
slaves
- 在版本 3.0 中已删除: MongoDB 不再在local.slaves集合中存储有关每个从站的信息。请改用db.serverStatus( { repl: 1 })。
-
在每个奴隶上:
-
local.
sources
- 这包含有关从属服务器的主服务器的信息。
Restrictions
-
针对
local
的可重试写入- 您不能在启用retryable writes的情况下对
local
数据库中的集合执行写操作。
- 您不能在启用retryable writes的情况下对
兼容 MongoDB 3.6 的官方驱动程序默认情况下会禁用可重试的写入。要显式禁用可重试写入,请在connection string中为 MongoDB 集群指定retryWrites=false。