Definición
listDatabasesEl
listDatabasescomando proporciona una lista de todas las bases de datos existentes junto con sus estadísticas básicas. El comando debe ejecutarse enlistDatabaseslaadminbase de datos, como en el siguiente ejemplo:
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 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.
Sintaxis
db.adminCommand( { listDatabases: 1 } )
El valor (p. ej. 1) no afecta la salida 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
|
| 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 predeterminado 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 Behavior. |
| 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, el comando devuelve valores diferentes según los privilegios asignados al usuario que ejecuta el comando y listDatabases la authorizedDatabases opción del comando:
Si
authorizedDatabasesno está especificado, ySi el usuario tiene la acción
listDatabasesen el recurso del clúster, el comandolistDatabasesdevuelve todas las bases de datos.Si el usuario no tiene la acción
listDatabasesen el clúster, el comandolistDatabasesdevuelve 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
authorizedDatabasesestrue, el comandolistDatabasesdevuelve 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
authorizedDatabasesesfalse, ySi el usuario tiene la acción
listDatabasesen el clúster, el comandolistDatabasesdevuelve todas las bases de datosSi el usuario no tiene la acción
listDatabasesen el clúster, el comandolistDatabasesgenera errores por permisos insuficientes.
Desconexión del cliente
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.
Restricción del estado del set de réplicas
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.
Ejemplos
Listar los nombres y tamaños de las bases de datos
Ejecute contra listDatabases la admin base de datos:
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 }
Listar únicamente los nombres de las bases de datos
Ejecute en listDatabases la admin base de datos. Especifique la nameOnly: true opción:
db.adminCommand( { listDatabases: 1, nameOnly: true} )
El siguiente es un ejemplo de un resultado cuando se ejecuta con listDatabases la nameOnly: true opción:
{ "databases" : [ { "name" : "admin" }, { "name" : "local" }, { "name" : "test" } ], "ok" : 1 }
Listar las bases de datos que coincidan con el filtro
Ejecute en listDatabases la admin base de datos. Especifique la filter opción para listar solo las bases de datos que cumplan con los criterios de filtro especificados.
Por ejemplo, lo siguiente especifica un filtro tal que solo devuelve información sobre bases de datos cuyo nombre coincida con listDatabases el regular expression especificado:
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
Clústeres fragmentados
Cuando se ejecuta contra una mongos listDatabasesinstancia,:
añade un documento incrustado
shardsal documento de resumen de cada base de datos sinameOnly: false, yexcluye 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 }
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 elemento del documento
shardsconsta 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.shardssolo aparece en la salida sinameOnly: false.Consultar Clústeres particionados para obtener más detalles.