This version of the documentation is archived and no longer supported.

The local Database


Every mongod instance has its own local database, which stores data used in the replication process, and other instance-specific data. The local database is invisible to replication: collections in the local database are not replicated.

Collections on all mongod Instances


On startup, each mongod instance inserts a document into startup_log with diagnostic information about the mongod instance itself and host information. startup_log is a capped collection. This information is primarily useful for diagnostic purposes.

For example, the following is a prototype of a document from the startup_log collection:

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

Documents in the startup_log collection contain the following fields:


Includes the system hostname and a millisecond epoch value.


The system’s hostname.


A UTC ISODate value that reflects when the server started.


A string that reports the startTime in the system’s local time zone.


An embedded document that reports the mongod runtime options and their values.

The process identifier for this process.


An embedded document that reports information about the build environment and settings used to compile this mongod. This is the same output as buildInfo. See buildInfo.

Collections on Replica Set Members


local.system.replset holds the replica set’s configuration object as its single document. To view the object’s configuration information, issue rs.conf() from the mongo shell. You can also query this collection directly. is the capped collection that holds the oplog. You set its size at creation using the oplogSizeMB setting. To resize the oplog after replica set initiation, use the Change the Size of the Oplog procedure. For additional information, see the Oplog Size section.

Starting in MongoDB 3.6.21, it is no longer possible to perform manual write operations to the oplog on a cluster running as a replica set. Performing write operations to the oplog when running as a standalone instance should only be done with guidance from MongoDB Support.


This contains an object used internally by replica sets to track replication status.


Removed in version 3.0: Replica set members no longer mirror replication status of the set to the local.slaves collection. Use rs.status() instead.

Collections used in Master/Slave Replication

In master/slave replication, the local database contains the following collections:

  • On the master:


    This is the oplog for the master-slave configuration.


    Removed in version 3.0: MongoDB no longer stores information about each slave in the local.slaves collection. Use db.serverStatus( { repl: 1 } ) instead.

  • On each slave:


    This contains information about the slave’s master server.


Retryable Writes against local

You cannot perform write operations to collections in the local database with retryable writes enabled.

The official MongoDB 3.6-compatible drivers disable retryable writes by default. To explicitly disable retryable writes, specify retryWrites=false in the connection string for the MongoDB cluster.