Definición
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre la compatibilidad de Atlas con todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
db.adminCommand( { listDatabases: 1 } )
El valor (por ejemplo, 1) no afecta el resultado del comando.
Campos de comandos
El comando puede aceptar los siguientes campos opcionales:
Campo | Tipo | Descripción |
|---|---|---|
| Documento | Opcional. Un predicado de query que determina qué bases de datos se enumeran. Puede especificar una condición en cualquiera de los campos en la salida de
|
| booleano | opcional. Indica si el comando devuelve solo los nombres de las bases de datos o devuelve tanto los nombres de las bases de datos como la información sobre el tamaño. Por defecto es |
| booleano | Opcional. Una bandera que determina qué bases de datos se devuelven según los privilegios del usuario cuando el control de acceso está activado.
Para obtener más información, consulte la sección Comportamiento. |
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
Comportamiento
Cuando la autenticación está habilitada, listDatabases devuelve diferentes resultados según los privilegios del usuario y la opción authorizedDatabases:
Si
authorizedDatabasesno está especificado, ySi el usuario tiene acción en el
listDatabaseslistDatabasesrecurso del clúster, el comando devuelve todas las bases de datos.Si el usuario no tiene acción en
listDatabaseslistDatabasesel clúster, el comando devuelve solo las bases de datos para las que el usuario tiene privilegios (incluidas las bases de datos para las que el usuario tiene privilegios en colecciones específicas).
Si
authorizedDatabasestruees, el comando devuelve solo las bases de datos para las que el usuario tiene privilegios (incluidas las bases de datos para las que el usuario tiene privilegios en coleccioneslistDatabasesespecíficas).Si
authorizedDatabasesesfalse, ySi el usuario tiene acción en
listDatabaseslistDatabasesel clúster, el comando devuelve todas las bases de datos.Si el usuario no tiene acción en
listDatabaseslistDatabasesel clúster, el comando genera errores con permisos insuficientes.
Desconexión del cliente
Si el cliente que emitiólistDatabasesse desconecta antes de que la operación finalice, MongoDB marcalistDatabasespara su terminación usandokillOp.
Restricción del estado del set de réplicas
Para ejecutarse en un miembro del conjunto de réplicas, listDatabases las operaciones requieren que PRIMARY SECONDARY el miembro esté en estado o. Si el miembro está en otro estado,STARTUP2 como, la operación genera un error.
Ejemplos
Listar los nombres y tamaños de las bases de datos
Ejecutar listDatabases contra la base de datos admin:
db.adminCommand( { listDatabases: 1 } )
Ejemplo de salida:
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "local", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "test", "sizeOnDisk" : 83886080, "empty" : false } ], "totalSize" : 251658240, "totalSizeMb" : 251, "ok" : 1 }
Listar únicamente los nombres de las bases de datos
Ejecute listDatabases contra la base de datos admin. Especifique la opción nameOnly: true:
db.adminCommand( { listDatabases: 1, nameOnly: true} )
Ejemplo de salida:
{ "databases" : [ { "name" : "admin" }, { "name" : "local" }, { "name" : "test" } ], "ok" : 1 }
Listar las bases de datos que coincidan con el filtro
Ejecute listDatabases contra la base de datos admin. Especifique la opción filter para listar solo las bases de datos que coincidan con los criterios de filtro.
Por ejemplo, el siguiente filtro devuelve solo las bases de datos cuyo nombre coincide con el regular expressionespecificado:
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
Clústeres fragmentados
Cuando se ejecuta contra una instancia de mongos, listDatabases:
agrega un documento incrustado
shardsa cada documento de resumen de la base de datos sinameOnly: false.excluye la base de datos
local.
Cada campo del documento incrustado shards utiliza el nombre de la partición como clave y el tamaño de la base de datos en bytes como valor.
El campo sizeOnDisk representa el tamaño total de todas las colecciones e índices de la base de datos listada.
Por ejemplo:
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 16384, "empty" : false, "shards" : { "config" : 16384 } }, { "name" : "config", "sizeOnDisk" : 176128, "empty" : false, "shards" : { "shard01" : 28672, "shard02" : 8192, "config" : 139264 } }, { "name" : "test", "sizeOnDisk" : 12288, "empty" : false, "shards" : { "shard01" : 12288 } } ], "totalSize" : 204800, "totalSizeMb" : 0, "ok" : 1 }
Salida
listDatabases.databasesTipo: arreglo
Arreglo de documentos, cada uno de los cuales contiene información sobre una sola base de datos.
listDatabases.databases.sizeOnDiskTipo: entero
Tamaño total de los archivos de la base de datos en disco, expresado en bytes.
listDatabases.databases.shardsTipo: documento
Cada campo del documento
shardsutiliza el nombre de la partición como clave y el tamaño de la base de datos en bytes como valor.shardssolo aparece en la salida sinameOnly: false.Consultar Clústeres particionados para obtener más detalles.