Mejores comandos de MongoDB te necesitas saber

Mejores comandos de MongoDB te necesitas saber

  • Orquestación
6 min de lectura Actualizado Jan 4, 2021

Puntos clave: Se son describen comandos esenciales de MongoDB para la gestión de bases de datos, centrados en la conexión, la gestión de usuarios y la comprobación de registros. Se son proporcionan ejemplos prácticos de comandos para crear, actualizar y eliminar usuarios, así como para gestionar colecciones y bases de datos.

  • MongoDB opera utilizando documentos y colecciones, garantizando un alto rendimiento.
  • Los comandos clave incluyen la gestión de usuarios, estadísticas de la base de datos y detalles de recopilación.

Este artículo analiza los comandos más útiles para la administración de bases de datos de MongoDB.

Primero Obtén los conceptos básicos de MongoDB. Luego, te mostraré cómo realizar una variedad de funciones administrativas básicas, con comandos para:

¡Vamos Obtén ya!

Resumen de MongoDB

MongoDB está una base de datos NoSQL multiplataforma de alto rendimiento y altamente escalable. MongoDB se basa en conceptos como Documentos, Colecciones y Bases de Datos:

  • Las colecciones y documentos son análogos a las tablas y filas tradicionales en una base de datos RDBMS.
  • Una sola instancia de MongoDB puede contener múltiples bases de datos. La base de datos es un contenedor físico para colecciones con una estructura de archivos dedicada en el sistema.

Una Colección contiene un grupo de documentos de MongoDB. Las colecciones son creadas dentro de una base de datos y no aplican un esquema como una base de datos tradicional. Por lo tanto, diferentes documentos en la misma colección pueden tener campos distintos. Los documentos de MongoDB son basados en pares clave-valor.

Echemos un vistazo rápido a cómo la terminología tradicional de los RDBMS se relaciona con la estructura de MongoDB.

Comprobación de registros

Cambio de nombre de colecciones

Sistema de Gestión de Bases de Datos Relacional MongoDB
Base de datos Base de datos
Tabla Colección
Fila Documento BSON
Columna Campo BSON
Índice Índice
Tonalidad primaria _id campo (Clave primaria) Por defecto, MongoDB genera automáticamente un número hexadecimal de 12 bytes para cada documento.
Grupo Agregación
Únete Incrustación y enlace

Como cualquier base de datos, MongoDB necesita administración. Ahí es donde entran los comandos administrativos—echemos un vistazo.

Comandos para conectarse a MongoDB

Primero, necesitamos saber cómo conectarnos a una base de datos MongoDB. te puede utiliza el comando Mongo para conectarse a una base de datos MongoDB y utiliza parámetros como host y puerto si es necesario.

  • mongo Ejecuta este comando en el shell-local para conectarte a la base de datos local en el puerto predeterminado 27017.
  • Mongo <Host>/<base de datos> Especifica el host y la base de datos como parámetros para conectarse a una base de datos específica.
  • mongo –host <nombre de host/IP> –puerto <número de puerto> [opciones] te puede utiliza este formato para especificar diferentes opciones al conectar la base de datos. Consulta las páginas de usuario de mongo o ayuda para información detallada sobre todas las opciones disponibles.

mongo –host <nombre de host/IP> –puerto <nº de puerto> --autenticationDatabase <database> -u <usuario> -p <contraseña>

Ayuda

    mongo --host 10.10.10.59 --port 27017 --verbose

Si la autenticación están habilitada en la instalación de MongoDB, podemos especificar los datos de usuario y la base de datos de autenticación. La base de datos de autenticación están donde residen los datos de usuario, que puede ser cualquier base de datos que están usado para Crea usuarios. Si te no da la contraseña en el comando, cmd la pedirá más adelante.

    mongo --port 27017 --authenticationDatabase "admin" -u "barryadmin" -p

Comando de mostrar MongoDB

Veamos cómo Ve cómo ver objetos en una base de datos de MongoDB. Tú puedes Obtén las bases de datos, colecciones, roles y usuarios existentes con el comando show.

Ver todas las bases de datos

    show dbs

Ver colecciones dentro de una base de datos

    show collections / db.getCollectionNames()

Ver roles en una base de datos

    show roles

Ver usuarios en una base de datos

    show users / db.getUsers()

Comandos de gestión de usuario

Una de las tareas administrativas más importantes están gestionar los permisos para los usuarios. MongoDB proporciona esta funcionalidad usando usuarios y roles, y tiene roles integrados para controles de acceso fáciles.

te tienes que Permite la opción de "autenticación" en el archivo de configuración de MongoDB para utiliza la función de control de acceso. Añade las siguientes líneas en el archivo mongod.conf y reinicia el servicio de MongoDB para reflejar los cambios.

/etc/mongod.conf

    security:
authorization: "enabled"

Creación de un usuario

El comando createUser nos permite Crea usuarios. Vamos a Crea un usuario para la base de datos de vehículos solo con permisos de lectura y escritura.

Sintaxis:

Ejemplo:

Resultado:

    db.createUser(
{
user: ,
pwd: ,
roles: [
{role: , db: }
]
}
)

Ejemplo:

    use vehicles
db.createUser(
{
user: "barryvehicles",
pwd: passwordPrompt(),
roles: [
{role: 'readWrite', db: "vehicles"}
]
}
)

Resultado:

La función passwordPromt() pedirá la contraseña al ejecutar el comando createUser. El usuario está creado en la base de datos "vehicles".

Así que, cuando nos autenticamos usando este usuario, debemos especificar la base de datos "vehículos" como la "authenticationDatabase". Un usuario de base de datos puede ser creado en cualquier base de datos mientras se definen permisos para otras bases de datos.

Resultado:

    mongo --port 27017 --authenticationDatabase "vehicles" -u "barryvehicles" -p

Resultado:

Actualización de datos de usuario

Podemos actualizar los detalles del usuario usando el comando updateUser( ). Al actualizar roles de usuario, necesitamos especificar todos los roles deseados, porque updateUser() sobrescribirá cualquier regla existente.

En este ejemplo, actualizaremos al usuario "barryvehicles" con un campo personalizado y daremos permiso de lectura a la base de datos de administradores. La sección "customData" nos permite Crea cualquier par de claves personalizadas. Esto no afecta a los roles del usuario; los campos personalizados pueden considerarse más bien una sección informativa donde podemos añadir detalles adicionales para el usuario.

Sintaxis:

Ejemplo:

Resultado:

    db.updateUser(
<"username">,
{
customData : {  },
roles: [
{role: , db: }
]
}
)

Ejemplo:

    db.updateUser(
"barryvehicles",
{
customData : { usertype: 'dbadmin' },
roles: [
{role: 'readWrite', db: "vehicles"},
{role: 'read', db: "admin"}
]
}
)

Resultado:

Eliminar a un usuario

Podemos eliminar a un usuario usando el comando dropUser(). En el siguiente ejemplo, eliminaremos al usuario "barryvehicles".

Sintaxis:

Ejemplo:

Resultado:

    db.dropUser()

Ejemplo:

    >db.dropUser("barryvehicles")

Resultado:

Tenemos dos métodos para comprobar los registros en MongoDB. Podemos:

  • Revisa el archivo de registro de Mongod
  • Utiliza el comando getLog()

getLog() devuelve los eventos registrados más recientes. Este comando leerá los eventos recientes de registro 1024 de MongoDB en la caché RAM. En versiones anteriores de MongoDB, los registros se devolvían en formato de texto plano. Sin embargo, en MongoDB 4.4, los registros son formateados en JSON extendido v2.0.

Sintaxis:

    db.adminCommand( { getLog:  } )

Son tres valores posibles para el comando getLog(). Esos son

  • * devuelve la lista de valores disponibles para el comando getLog().
  • Global devuelve todas las entradas de registro recientes.
  • startupWarnings devuelve entradas de registro que pueden contener errores o advertencias desde el Comienza del proceso actual.

Ejemplo:

Resultado:

    db.adminCommand( { getLog: "*" } )
db.adminCommand( { getLog : "global" } )

Resultado:

Comandos de gestión de bases de datos

En esta sección, cubriremos los comandos básicos de gestión de bases de datos. Estos pueden ayudar a determinar las estadísticas del servidor, estadísticas de la colección, tamaño de la colección, etc.

Ayuda es un comando esencial en la caja de herramientas de cualquier administrador. El comando ayuda te dará una lista de opciones de ayuda disponibles en MongoDB.

Ayuda normal:

Resultado:

    help

Resultado:

Aquí, te puede Ve todas las opciones de ayuda disponibles en MongoDB. Si te quieres Obtén todos los comandos de ayuda necesarios para trabajar con bases de datos, ejecuta el comando db.help().

Resultado:

    db.help()

Resultado:

Obtén detalles de la base de datos

El comando stats() proporciona estadísticas de la base de datos. La información proporcionada varía desde el número de colecciones y objetos (documentos), tamaños de bases de datos hasta índices.

El scaleFactor refleja cómo se representan son los tamaños de los datos. El scaleFactor por defecto está establecido en 1, lo que muestra los datos en bytes. Por ejemplo, podemos cambiar el scaleFactor a 1024 para mostrar los tamaños en kilobytes.

Resultado:

    db.stats()

Resultado:

Si tú quieres Obtén los detalles del servidor, utiliza el comando db.serverStats().

Resultado:

    db.serverStats()

Resultado:

Para Obtén una lista de nombres de conexión, utiliza el comando getCollectionNames().

Resultado:

    db.getCollectionNames()

Resultado:

Obtención y devolución de detalles de la colección

Obtén estadísticas de colecciones

La función status() proporcionará una visión completa de la colección.

Resultado:

    db.vehicledetails.stats()

Resultado:

Obtén latencia de recogida

Utiliza el comando latencyStatus() para obtener la latencia media de las operaciones de lectura y escritura y el número de operaciones de lectura y escritura.

Resultado:

    db.vehicledetails.latencyStats()

Resultado:

Obtén tamaños de colección

Los siguientes comandos se son utilizados para determinar el tamaño de las Colecciones de diversas maneras:

  • dataSize() muestra el tamaño de los datos dentro de la colección.
  • storageSize() indica la cantidad total de almacenamiento asignada a los documentos de la colección.
  • totalSize() indica el tamaño total de la colección, incluyendo documentos y los índices.
  • totalIndexSize() proporciona el tamaño indexado de la colección.

Resultado:

    db.vehicledetails.dataSize()
db.vehicledetails.storageSize()
db.vehicledetails.totalSize()
db.vehicledetails.totalIndexSize()

Resultado:

Como los "detalles del vehículo" están una colección pequeña, el storageSize está igual a totalIndexSize, ya que los datos indexados están iguales a los datos en bruto de la colección, y la compresión adicional es inviable.

Podemos renombrar una colección existente con la función renameCollection. (Esta función no es compatible con colecciones fragmentadas.)

Al renombrar una colección, necesitamos especificar correctamente el espacio de nombres de origen y el espacio de destino. En MongoDB, el espacio de nombres se relaciona con el nombre único en el que podemos identificar objetos de la base de datos.

En el siguiente ejemplo, son renombramos la colección "vehicledetails" en la base de datos de vehículos. Hemos definido los espacios de nombres como . para diferenciar entre las colecciones antiguas y nuevas.

Resultado:

Terminación del servidor

Si queremos terminar completamente la instancia de MongoDB, podemos utilizar el comando incorporado shutdownServer(). shutdownServer() limpiará todos los recursos usados por las bases de datos antes de terminar el proceso de MongoDB.

El comando debe emitirse contra la base de datos de administración para ejecutarse. Podemos Lograr esto usando la función getSiblingDB para indicar la base de datos de administrador.

Sintaxis:

La opción forzar fuerza una operación de apagado e interrumpe cualquier operación en curso para terminar la instancia de MongoDB. La opción TimeoutSec puede usarse para establecer la hora en segundos antes de que ocurra un apagado. En un entorno autenticado, el usuario debe tener el privilegio de apagado para ejecutar este comando.

En el siguiente ejemplo, forzaremos el apagado de la instancia de MongoDB en 10 segundos. La función getSiblingDB nos permite apuntar la función de apagado a la base de datos de administradores.

Resultado:

Con esto concluye este tutorial de comandos de MongoDB. Todos los comandos mencionados anteriormente pueden explorarse más a fondo utilizando la documentación oficial de MongoDB.

Lecturas relacionadas

Guía de MongoDB

  1. Resumen de MongoDB: Empezando con MongoDB
  2. Cómo instalar MongoDB en Ubuntu y Mac
  3. Creación de una base de datos en MongoDB
  4. Comandos básicos de MongoDB Shell
  5. MongoDB Compass: Uso de la interfaz gráfica de Mongo
  6. Explicación del Control de Acceso Basado en Roles (RBAC) de MongoDB
  7. Explicación de los operadores de proyección y proyección de MongoDB
  8. Explicación de las funciones agregadas de MongoDB
  9. Ordenación de MongoDB: método y ejemplos de sort()
  10. Uso de operadores de Push & Pull en MongoDB
  11. Cómo utiliza MongoDB $unwind
  12. 23 operadores comunes de consultas de MongoDB y cómo utilizarlos
  13. Ejemplos de consultas de geolocalización de MongoDB
  14. Introducción a las transacciones de MongoDB
  15. Índices de MongoDB: Principales tipos de índices y cómo gestionarlos
  16. Mejores comandos de MongoDB te necesitas saber
  17. Replicación de MongoDB: Una introducción completa
  18. Cómo configurar un clúster de MongoDB
  19. Fragmentos de MongoDB: Conceptos, Ejemplos y Tutoriales
  20. MongoDB Atlas: Configuración y uso de MongoDB gestionado
  21. Cómo ejecutar MongoDB como contenedor Docker
  22. Uso, gestión y requisitos de memoria de MongoDB
  23. Cómo utilizar Mongodump para copias de seguridad de MongoDB
  24. Ejemplos de Mongorestore para restaurar copias de seguridad de MongoDB
  25. Cómo utilizar PyMongo
  26. Cómo utilizar Mongoose para MongoDB y NodeJS
  27. Chuletas de MongoDB
  28. MongoDB vs Cassandra: Comparación de bases de datos NoSQL
  29. PostgreSQL vs MongoDB: Comparando bases de datos
  30. MySQL vs MongoDB: Comparando bases de datos
  31. Certificaciones MongoDB: Una introducción

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.