Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Administración

listDatabases (comando de base de datos)

listDatabases

El comando listDatabases proporciona una lista de todas las bases de datos existentes junto con estadísticas básicas sobre ellas. El listDatabases debe ejecutarse contra la base de datos admin, como en el siguiente ejemplo:

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 el soporte de Atlas para 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.

db.adminCommand(
{
listDatabases: 1
}
)

El valor (p. ej. 1) no afecta la salida del comando.

El comando puede aceptar los siguientes campos opcionales:

Campo
Tipo
Descripción

filter

Documento

Opcional. Un predicado de query que determina qué bases de datos se enumeran.

Puedes especificar una condición en cualquiera de los campos en la salida de listDatabases:

  • name

  • sizeOnDisk

  • empty

  • shards

nameOnly

booleano

Opcional. Una bandera para indicar si el comando debe devolver solo los nombres de las bases de datos o devolver tanto los nombres de las bases de datos como la información sobre el tamaño.

El valor por defecto es false, por lo que listDatabases devuelve la información del nombre y el tamaño de cada base de datos.

authorizedDatabases

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.

  • Si authorizedDatabases no está especificado, y

    • Si el usuario tiene la acción listDatabases en el recurso del clúster, el comando listDatabases devuelve todas las bases de datos.

    • Si el usuario no tiene la acción listDatabases en el clúster, listDatabases 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 authorizedDatabases es true, listDatabases devuelve solo las bases de datos para las que el usuario tiene privilegios (incluidas las bases de datos en las que el usuario tiene privilegios sobre colecciones específicas).

  • Si authorizedDatabases es false, y

Para obtener más información, consulte Behavior.

comment

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.).

Cuando la autenticación está habilitada, el comando listDatabases devuelve valores diferentes en función de los privilegios asignados al usuario que ejecuta el comando y la opción de comando authorizedDatabases:

  • Si authorizedDatabases no está especificado, y

    • Si el usuario tiene la acción listDatabases en el recurso del clúster, el comando listDatabases devuelve todas las bases de datos.

    • Si el usuario no tiene la acción listDatabases en el clúster, el comando listDatabases 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 authorizedDatabases es true, el comando listDatabases 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 authorizedDatabases es false, y

Si el cliente que emitió listDatabases se desconecta antes de que la operación se complete, MongoDB marca listDatabases para su terminación usando killOp.

Para que se ejecuten en un nodo del set de réplicas, las operaciones listDatabases requieren que el nodo esté en estado PRIMARY o SECONDARY. Si el nodo se encuentra en otro estado, como STARTUP2, la operación falla.

Ejecuta listDatabases en la base de datos admin:

db.adminCommand( { listDatabases: 1 } )

A continuación, se muestra un ejemplo de un resultado de listDatabases:

{
"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
}

Ejecuta listDatabases en la base de datos admin. Especifica la opción nameOnly: true:

db.adminCommand( { listDatabases: 1, nameOnly: true} )

A continuación se muestra un ejemplo de resultados de un listDatabases al ejecutarlo con la opción nameOnly: true:

{
"databases" : [
{
"name" : "admin"
},
{
"name" : "local"
},
{
"name" : "test"
}
],
"ok" : 1
}

Ejecuta listDatabases en la base de datos admin. Especifica la opción filter para listar solo las bases de datos que cumplan con los criterios de filtro especificados.

Por ejemplo, lo siguiente especifica un filtro de modo que listDatabases sólo devuelve información sobre las bases de datos cuyo nombre coincide con el especificado regular expression:

db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )

Cuando se ejecuta en una instancia de mongos, listDatabases:

  • añade un documento incrustado shards al documento de resumen de cada base de datos si nameOnly: false, y

  • excluye la base de datos local.

Cada elemento en el documento incrustado shards consta de un campo cuya clave proporciona el nombre de una colección en esa partición, y cuyo valor representa el tamaño de la colección en bytes.

El campo sizeOnDisk representa el tamaño total de todas las colecciones e índices listados.

Por ejemplo:

{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 16384,
"empty" : false,
"shards" : {
"config" : 16384
}
},
{
"name" : "config",
"sizeOnDisk" : 176128,
"empty" : false,
"shards" : {
"clients" : 28672,
"patients" : 8192,
"config" : 139264
}
},
{
"name" : "test",
"sizeOnDisk" : 12288,
"empty" : false,
"shards" : {
"clients" : 12288
}
}
],
"totalSize" : 204800,
"totalSizeMb" : 0,
"ok" : 1
}

Tip

listDatabases.databases

Tipo: arreglo

Arreglo de documentos, cada uno de los cuales contiene información sobre una sola base de datos.

listDatabases.databases.name

Tipo: string

Nombre de la base de datos.

listDatabases.databases.sizeOnDisk

Tipo: entero

Tamaño total de los archivos de la base de datos en disco, expresado en bytes.

listDatabases.databases.empty

Tipo: booleano

Especifica si la base de datos está vacía.

listDatabases.databases.shards

Tipo: documento

Cada elemento del documento shards consta de un campo cuya clave proporciona el nombre de una colección en ese fragmento, y cuyo valor representa el tamaño de la colección en bytes.

shards solo aparece en la salida si nameOnly: false.

Consultar Clústeres particionados para obtener más detalles.

listDatabases.totalSize

Tipo: entero

Suma de todos los campos sizeOnDisk en bytes.

listDatabases.totalSizeMb

Tipo: entero

Suma de todos los campos sizeOnDisk, expresada en megabytes.

listDatabases.ok

Tipo: entero

Valor de retorno del comando. Un valor de 1 indica éxito.

Volver

listCollections

En esta página