Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Config Database

Las colecciones en la base de datos config admiten:

Nota

Los clústeres compartidos pueden mostrar diferentes colecciones en la base de datos config, dependiendo de si se conectan a mongos o a mongod:

Cuando un servidor de configuración y una partición se alojan en el mismo nodo, mongos puede tener acceso a algunas colecciones locales de la partición en la base de datos config.

A partir de MongoDB,5.0 no se permiten lecturas que no sean de transacción en la colección con las siguientes consideraciones y opciones de config.transactions lectura:

Importante

El esquema de la base de datos config es interno y puede cambiar entre versiones de MongoDB. La base de datos config no es una API confiable, y los usuarios no deben guardar datos en la base de datos config durante la operación o el mantenimiento normales.

Nota

No se pueden realizar operaciones de lectura/escritura en las colecciones de la base de datos config dentro de una Transacción multi-documento.

A partir de MongoDB 8.0, debe conectarse a mongos para leer algunas colecciones config. Para obtener la lista de estas colecciones, consulte Lecturas de colecciones de una sola partición.

Para acceder a la config base de datos y ver la lista de colecciones que admiten operaciones de fragmentación, conéctese mongosh a una instancia en un clúster fragmentado y ejecute lo mongos siguiente:

use config
show collections

Nota

Si se ejecuta con control de acceso, asegúrese de tener privilegios que otorguen la acción listCollections en la base de datos.

La base de datos de configuración es principalmente para uso interno y durante las operaciones normales nunca deberías insertar o almacenar datos manualmente en ella. Sin embargo, si necesitas verificar la disponibilidad de escritura del servidor de configuración para un clúster particionado, puedes insertar un documento en una colección de prueba (después de asegurarte de que no exista ya una colección con ese nombre):

Advertencia

La modificación de la config base de datos en un sistema en funcionamiento puede provocar inestabilidad o conjuntos de datos inconsistentes. Si necesita modificar la config base de datos, utilice para crear una copia de seguridad completa de mongodump la config base de datos.

db.testConfigServerWriteAvail.insertOne( { a : 1 } )

Si la operación tiene éxito, el servidor de configuración está disponible para procesar guardados.

Las futuras versiones del servidor pueden incluir diferentes colecciones en la base de datos de configuración, así que tenga cuidado al seleccionar un nombre para su colección de pruebas.

MongoDB usa las siguientes colecciones en la base de datos config para admitir el particionado:

config.changelog

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección almacena un documento por cada cambio en los metadatos de una colección changelog fragmentada.

Ejemplo

El siguiente ejemplo muestra un único registro de un fragmento dividido de una changelog colección:

{
"_id" : "<hostname>-<timestamp>-<increment>",
"server" : "<hostname><:port>",
"clientAddr" : "127.0.0.1:63381",
"time" : ISODate("2012-12-11T14:09:21.039Z"),
"what" : "split",
"ns" : "<database>.<collection>",
"details" : {
"before" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 0),
"lastmodEpoch" : ObjectId("000000000000000000000000")
},
"left" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : "<value>"
},
"lastmod" : Timestamp(1000, 1),
"lastmodEpoch" : ObjectId(<...>)
},
"right" : {
"min" : {
"<database>" : "<value>"
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 2),
"lastmodEpoch" : ObjectId("<...>")
},
"owningShard" : "<value>"
}
}

Cada documento de la colección contiene los siguientes changelog campos:

config.changelog._id

El valor de changelog._id es: <hostname>-<timestamp>-<increment>.

config.changelog.server

El nombre de host del servidor que contiene estos datos.

config.changelog.clientAddr

Una string que contiene la dirección del cliente, una instancia de mongos que inicia este cambio.

config.changelog.time

Una marca de tiempo ISODate que refleja cuándo ocurrió el cambio.

config.changelog.what

El tipo de cambio registrado. Los valores posibles incluyen:

  • dropCollection

  • dropCollection.start

  • dropDatabase

  • dropDatabase.start

  • moveChunk.start

  • moveChunk.commit

  • split

  • multi-split

config.changelog.ns

namespace donde se produjo el cambio.

config.changelog.details

Un documento que contiene detalles adicionales para el cambio. La estructura del documento depende del tipo de details cambio.

config.chunks

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección almacena un documento para cada fragmento del clúster. El siguiente ejemplo muestra un config.chunks documento:

{
_id: ObjectId('65a954c0de11596e08e7c1dc'),
uuid: UUID('a4479215-a38d-478f-a82b-e5e95d455e55'),
min: { a: Long('121204345') },
max: { a: Long('993849349') },
shard: 'shard01',
lastmod: Timestamp({ t: 1, i: 0 }),
history: [
{
validAfter: Timestamp({ t: 1705596095, i: 14 }),
shard: 'shard01'
}
]
}

En el documento:

  • _id es el identificador del fragmento.

  • min y max son el rango de valores para la clave de partición del fragmento.

  • shard es el nombre de la partición que almacena el fragmento en el clúster.

Tip

Para encontrar los fragmentos en una colección, obtenga el uuid identificador de la colección. Luego,config.collections use uuid para obtener el documento correspondiente con el mismo uuid de la config.chunks colección.

config.collections

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

A partir de MongoDB 8.0, config.collections almacena metadatos para todas las colecciones fragmentadas y para las colecciones no fragmentadas trasladadas con moveCollection.

En versiones de MongoDB anteriores a la 8.0, config.collections solo almacena metadatos de colecciones particionadas.

config.collections solo almacena metadatos sobre colecciones, no los documentos almacenados en las colecciones.

Para una colección llamada pets en la records base de datos, un documento en la colección se parecería al collections siguiente:

{
"_id" : "records.pets",
"lastmod" : ISODate("2021-07-21T15:48:15.193Z"),
"timestamp": Timestamp(1626882495, 1),
"key" : {
"a" : 1
},
"unique" : false,
"lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"),
"uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da")
}
config.databases

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección almacena un documento para cada base de datos en el databases clúster.

Para cada base de datos, el documento adecuado muestra el nombre, la partición primaria de la base de datos y una versión.

{ "_id" : "test", "primary" : "shardA", "version" : { "uuid" : UUID("516a5f79-5eb9-4844-8ee9-b8e9de91b760"), "timestamp" : Timestamp(1626894204, 1), "lastMod" : 1 } }
{ "_id" : "hr", "primary" : "shardA", "version" : { "uuid" : UUID("8e39d61d-6259-4c33-a5ed-bcd2ae317b6f"), "timestamp" : Timestamp(1626895015, 1), "lastMod" : 1 } }
{ "_id" : "reporting", "primary" : "shardB", "version" : { "uuid" : UUID("07c63242-51b3-460c-865f-a67b3372d792"), "timestamp" : Timestamp(1626895826, 1), "lastMod" : 1 } }

El método sh.status() devuelve esta información en la sección Bases de datos.

config.migrationCoordinators

La colección existe en cada fragmento migrationCoordinators y almacena un documento para cada migración de fragmento en curso desde este fragmento a otro. La migración de fragmento falla si el documento no se puede escribir en la mayoría de los miembros del conjunto de réplicas del fragmento.

Cuando una migración se completa, el documento que describe la migración se elimina de la colección.

config.mongos

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección almacena mongos mongos un documento para cada instancia afiliada al clúster. El clúster mantiene esta colección con fines de generación de informes.

Cada documento de la colección contiene estos mongos campos:

Campo
Tipo de dato
Descripción

_id

String

El nombre del host y el puerto donde se ejecuta el mongos. El _id tiene el formato <hostname>:<port>.

advisoryHostFQDNs

Arreglo de cadenas

Arreglo de los nombres de dominio totalmente calificados (FQDN) de mongos.

created

fecha

Cuando se inició el mongos.

Nuevo en la versión 5.2.

mongoVersion

String

Versión de MongoDB en la que se ejecuta el mongos.

ping

fecha

Las instancias mongos envían pings al servidor de configuración cada 30 segundos. Este campo indica la última vez que se realizó el ping.

up

NumberLong

Número de segundos que el mongos ha estado activo desde el último ping.

waiting

Booleano

Este campo siempre es true y sólo se incluye por compatibilidad con versiones anteriores.

El siguiente documento muestra el estado de la mongos en ejecución en example.com:27017.

[
{
_id: 'example.com:27017',
advisoryHostFQDNs: [ "example.com" ],
created: ISODate("2021-11-22T16:32:13.708Z"),
mongoVersion: "5.2.0",
ping: ISODate("2021-12-15T22:09:23.161Z"),
up: Long("2007429"),
waiting: true
}
]
config.placementHistory

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección existe en el servidor de configuración y registra qué fragmentos contenían datos para una base de datos o colección en momentos específicos del clúster. MongoDB utiliza esta información para reconstruir la ubicación histórica de los placementHistory datos.

Para una colección llamada myCollection en la test base de datos, un documento en la colección se parecería al placementHistory siguiente:

{
_id: ObjectId("61e0a1f4e5b8c9d0a1b2c3d4"),
nss: "test.myCollection",
collUuid: UUID("07c63242-51b3-460c-865f-a67b3372d792"),
timestamp: Timestamp(1626895826, 1),
shards: [ "shardA", "shardB" ]
}

El campo nss puede contener un namespace o un nombre de base de datos. El campo collUuid solo está presente para colecciones.

config.rangeDeletions

La colección existe en cada fragmento y almacena un documento para cada rango de fragmentos que contiene documentos huérfanos. La migración de fragmentos falla si el documento no se puede escribir en la mayoría de los miembros del conjunto de réplicas del rangeDeletions fragmento.

Cuando se limpia el rango de fragmentos huérfanos, el documento que describe el rango se elimina de la colección.

config.settings

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección contiene la siguiente configuración de settings fragmentación:

  • Tamaño del rango. Para cambiar el tamaño del rango, consulta Modificar el tamaño del rango en un clúster particionado. El valor especificado de chunksize está en megabytes.

  • Ajustes del balanceador. Para cambiar la configuración del balanceador, incluido el estado del balanceador, consulta Administrar el balanceador del clúster fragmentado.

  • Autosplit:

    A partir de MongoDB 6.0.3, no se realiza la división automática de fragmentos. Esto se debe a las mejoras en la política de balanceo. Los comandos de división automática aún existen, pero no ejecutan ninguna operación.

    En versiones de MongoDB anteriores a 6.1:

Ejemplo de documentos en la colección settings:

{ "_id" : "chunksize", "value" : 64 }
{ "_id" : "balancer", "mode" : "full", "stopped" : false }
config.shards

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección representa cada fragmento del clúster en un documento separado, como se muestra a shards continuación:

{ "_id" : "shard0000", "host" : "localhost:30000", "state" : 1 }

Si la partición es un set de réplicas, el campo host muestra el nombre del set de réplicas, luego una barra diagonal, luego una lista separada por comas de los nombres de host de cada nodo del set de réplicas, como en el siguiente ejemplo:

{ "_id" : "shard0001", "host" : "shard0001/localhost:27018,localhost:27019,localhost:27020", "state" : 1 }

Si la partición tiene zonas asignadas, este documento tiene un campo tags, que contiene un arreglo de las zonas a las que está asignado, como en el siguiente ejemplo:

{ "_id" : "shard0002", "host" : "localhost:30002", "state" : 1, "tags": [ "NYC" ] }
config.tags

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La colección contiene documentos para cada rango de tags tags zona en el clúster. Los documentos en la colección se asemejan a lo siguiente:

{
"_id" : { "ns" : "records.users", "min" : { "zipcode" : "10001" } },
"ns" : "records.users",
"min" : { "zipcode" : "10001" },
"max" : { "zipcode" : "10281" },
"tag" : "NYC"
}
config.version

Tip

Metadatos internos de MongoDB

La base de datos de configuración es interna. Las aplicaciones y los administradores no deben modificar ni depender de su contenido durante la operación normal.

La version colección contiene el número de versión actual de los metadatos. Esta colección contiene un solo documento. Por ejemplo:

{ "_id" : 1, "minCompatibleVersion" : 5, "currentVersion" : 6, "clusterId" : ObjectId("5d8bc01a690d8abbd2014ddd") }

Para acceder a la colección,version db.getCollection() debe utilizar el método. Por ejemplo, para recuperar el documento de la colección:

db.getCollection("version").find()

La config base de datos contiene las colecciones internas para soportar las sesiones causalmente consistentes para autónomos, sets de réplicas y clústeres y escrituras reintentables y transacciones para sets de réplicas y clústeres.

Advertencia

No modifiques manualmente ni descartes estas colecciones.

Para acceder a estas colecciones para una mongod mongos instancia o, conecte mongosh a la instancia.

config.system.sessions

La colección system.sessions almacena registros de sesión que están disponibles para todos los nodos de la implementación.

Cuando un usuario crea una sesión en una mongod o mongos, el registro de la sesión existe inicialmente solo en la memoria de la instancia. Periódicamente, la instancia sincronizará sus sesiones almacenadas en caché con la colección system.sessions; en ese momento, serán visibles para todos los miembros de la implementación.

Para ver registros en la colección system.sessions, utiliza $listSessions.

Advertencia

No modifique manualmente ni elimine la colección system.sessions.

En un clúster particionado, la system.sessions colección está particionada.

Al añadir una partición al clúster, si la partición a añadir ya contiene su propia colección system.sessions, MongoDB descarta la colección system.sessions de la nueva partición durante el proceso de adición.

config.transactions

La colección transactions almacena registros utilizados para respaldar escrituras reintentables y transacciones para sets de réplicas y clústeres.

Advertencia

No modifique manualmente ni elimine la colección transactions.