Tutorial de MongoDB para principiantes: aprenda MongoDB en pasos simples
Publicado: 2022-08-31MongoDB es una base de datos de documentos y una base de datos NoSQL líder de código abierto. Está escrito en C++ y es una base de datos NoSQL orientada a documentos que se utiliza para el almacenamiento de datos de gran volumen, la gestión y entrega de contenido, las infraestructuras móviles y sociales, la gestión de datos de usuario, etc.
Consiste en un modelo de datos mediante el cual se pueden representar relaciones jerárquicas. Se basa en documentos similares a JSON con un esquema opcional y no usa filas ni tablas como se usa en las bases de datos relacionales tradicionales. Los documentos con pares clave-valor son las unidades fundamentales de datos en MongoDB.
MongoDB almacena datos en formato JSON. Su alta demanda se basa principalmente en su índice de cualquier atributo, replicación y alta disponibilidad, fragmentación automática, consultas enriquecidas, actualizaciones rápidas en el lugar y soporte comunitario enriquecido. Sumerjámonos en el tutorial de consulta de mongodb.
Características de MongoDB
La usabilidad de esta base de datos orientada a datos depende de ciertas características integrales de Mongo DB:-
- Cada base de datos consta de colecciones que además contienen documentos. Estos documentos y su tamaño y contenido pueden diferir según el número de campos.
- La estructura del documento se basa en cómo los desarrolladores construyen clases y objetos en sus programas.
- Las filas no requieren un esquema predefinido, ya que puede crear los campos sobre la marcha.
- Con el modelo de datos de MongoDB, puede representar relaciones jerárquicas para almacenar arreglos y otras estructuras complejas.
- Los entornos MongoDB son muy escalables.
- No es necesario convertir o asignar objetos de aplicación a objetos de base de datos.
- La memoria interna almacena el conjunto de trabajo en ventana que permite un acceso más fácil a los datos.
- La estructura de un solo objeto es clara.
- No hay uniones complejas.
- Su capacidad de consulta profunda admite consultas dinámicas en documentos.
Además, consulte nuestro curso de ciencia de datos para mejorar sus habilidades.
Cosas que necesita saber sobre MongoDB y RDBMS
MongoDB es una base de datos multiplataforma orientada a documentos que ofrece alto rendimiento, escalabilidad efectiva y alta disponibilidad. Funciona en base a Documento y Colección. Cada base de datos en MongoDB tiene su conjunto distinto de archivos e, idealmente, un solo servidor MongoDB tiene numerosas bases de datos.
Por otro lado, una Colección es un grupo de documentos MongoDB equivalente a la tabla RDBMS. Existe dentro de una sola base de datos y no impone un esquema. Los Documentos dentro de una colección pueden tener varios campos, y todos los documentos dentro de una colección tienen un propósito relacionado o similar. Un conjunto de pares clave-valor se denomina Documentos que tienen un esquema dinámico, en el que los documentos de la misma colección no necesitan tener el mismo conjunto de estructura o campos.
Encontrará la relación de la terminología RDBMS con MongoDB en la siguiente tabla.
RDBMS | MongoDB |
Base de datos | Base de datos |
tupla | Documento |
Mesa | Recopilación |
Unirse a la tabla | Documentos incrustados |
columna | Campo |
Clave primaria | Clave principal (MongoDB ofrece la clave predeterminada _id) |
Servidor de base de datos y cliente | |
mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
Diferencia entre las bases de datos MongoDB y SQL
MongoDB es más flexible que SQL y ofrece una mejor disponibilidad de datos. También es portátil y extensible. Las bases de datos SQL son conocidas por su durabilidad y consistencia. Por lo tanto, la mejor solución de base de datos depende del tipo de proyecto en el que se esté involucrado.
MongoDB es mejor para canalizaciones de desarrollo, mientras que las bases de datos SQL son excelentes para transacciones confiables de datos organizacionales. MongoDB es excelente para procesar y trabajar con datos no estructurados. Esta base de datos NoSQL es una de las mejores alternativas para alimentar canalizaciones de datos y aplicaciones, como análisis en tiempo real.
MongoDB es excelente para trabajar con dispositivos IoT y aplicaciones móviles/web. Se está convirtiendo rápidamente en la opción preferida de los desarrolladores de todo el mundo debido a su flexibilidad y capacidad para escalar sin problemas.
Si bien las bases de datos SQL son excelentes para trabajar con datos estructurados, ciencia de datos y para tareas organizativas avanzadas, MongoDB satisface los requisitos de los desarrolladores y las empresas modernas a través del desarrollo efectivo de software o servicios en línea.
Ejemplos de cómo usar MongoDB
Almacenamiento de estructuras de datos anidadas
La capacidad de anidar objetos dentro de documentos es una de las mejores características de MongoDB. Para incrustar datos dentro de los documentos, los desarrolladores estructuran los datos en MongoDB en lugar de dividirlos en varias colecciones.
Aquí hay un ejemplo:-
{_id: ID de objeto ("5effaa5662679b5af2c58829"),
correo electrónico: “[email protected]”,
nombre: {dado: "Lily", familia: "Mona"},
edad: 31,
direcciones: [{etiqueta: “casa”,
calle: “Calle Baker 22 1b”,
ciudad: “Londres”,
estado: “ESP”,
código postal: “NW1 6XE”,
país: "Reino Unido"},
{etiqueta: "mamá",
calle: “555 Park Street”,
ciudad: “Ciudad del Lago”,
provincia: “Ontario”,
país: “CA”}]
}
El campo de nombre es el objeto anidado que tiene componentes dados y de nombre de familia en el campo de direcciones donde se almacenan varias direcciones en una matriz. Cada dirección puede tener varios campos, lo que facilita el almacenamiento de otros tipos de datos.
Uso de MongoDB Shell
El shell de MongoDB se utiliza principalmente para navegar, manipular e inspeccionar datos de documentos. Cuando MongoDB se ejecuta en una máquina local, al encender el shell se conecta a MongoDB en localhost en el puerto estándar. Asegúrese de agregar la cadena de conexión después del comando mongo si necesita conectarse a un clúster de MongoDB Atlas u otra instancia remota.
Encontrará ejemplos rápidos de shell a continuación: -
Colecciones de listas
> usar mi_base de datos;
> mostrar colecciones;
usuarios
publicaciones
>
Listar bases de datos
> mostrar bases de datos;
administrador 0.000GB
configuración 0.000GB
0.000 GB locales
mi_base de datos 0.004GB
>
Explore nuestros cursos populares de ciencia de datos
Programa Ejecutivo de Postgrado en Data Science del IIITB | Programa de Certificado Profesional en Ciencia de Datos para la Toma de Decisiones Empresariales | Maestría en Ciencias en Ciencia de Datos de la Universidad de Arizona |
Programa de Certificado Avanzado en Ciencia de Datos de IIITB | Programa de certificado profesional en ciencia de datos y análisis empresarial de la Universidad de Maryland | Cursos de ciencia de datos |
Encuentra el primer documento en una colección
> db.usuarios.findOne()
{
“_id”: IdObjeto(“5ce45d7606444f199acfba1e”),
"nombre": {dado: "Anna", familia: "Smith"},
“correo electrónico”: “[email protected]”
“edad”: 36
}
>
Contar documentos en una colección
> usar mi_base de datos;
> db.usuarios.contar()
20234
>
Buscar un documento por ID
> db.usuarios.findOne({_id: ObjectId(“5ce45d7606444f199acfba1e”)})
{
“_id”: IdObjeto(“5ce45d7606444f199acfba1e”),
"nombre": {dado: "Anna", familia: "Smith"},
“correo electrónico”: “[email protected]”,
“edad”: 36
}
>
Consultar colecciones de MongoDB
La misma sintaxis en MongoDB Query Language (MQL) se usa en los documentos que se pueden usar en consultas avanzadas. Encontrará los ejemplos de consulta de MongoDB a continuación:
Encuentre un número limitado de resultados
> db.usuarios.find().limit(10)
…
>
Buscar usuarios por apellido
> db.usuarios.find({“nombre.familia”: “Smith”}).cuenta()
1
>
Tenga en cuenta que encerramos "nombre.familia" entre comillas, porque tiene un punto en el medio.
Consulta de documentos por rangos numéricos
// Todas las publicaciones que tienen un campo de "me gusta" con un valor numérico mayor que uno:
> db.post.find({me gusta: {$gt: 1}})
// Todas las publicaciones tienen 0 me gusta
> db.post.find({me gusta: 0})
// Todas las publicaciones que NO tienen exactamente 1 me gusta
> db.post.find({me gusta: {$ne: 1}})
Ordenar resultados por un campo
// ordenar por edad, en orden ascendente (los valores más pequeños primero)
> db.usuario.find().sort({edad: 1})
{
“_id”: IdObjeto(“5ce45d7606444f199acfba1e”),
"nombre": {dado: "Alex", familia: "Smith"},
“correo electrónico”: “[email protected]”,
“edad”: 27
}
{
_id: ID de objeto ("5effaa5662679b5af2c58829"),
correo electrónico: “[email protected]”,
nombre: {dado: "Jesse", familia: "Xiao"},
edad: 31
}
>
// ordenar por edad, en orden descendente (los valores más grandes primero)
> db.usuario.find().sort({edad: -1})
{
_id: ID de objeto ("5effaa5662679b5af2c58829"),
correo electrónico: “[email protected]”,
nombre: {dado: "Lilly", familia: "Mona"},
edad: 31
}
{
“_id”: IdObjeto(“5ce45d7606444f199acfba1e”),
"nombre": {dado: "Anna", familia: "Smith"},
“correo electrónico”: “[email protected]”,
“edad”: 36
}
>
Principales habilidades de ciencia de datos para aprender en 2022
SL. No | Principales habilidades de ciencia de datos para aprender en 2022 | |
1 | Curso de Análisis de Datos | Cursos de Estadística Inferencial |
2 | Programas de prueba de hipótesis | Cursos de Regresión Logística |
3 | Cursos de regresión lineal | Álgebra lineal para análisis |
Conclusión
La escalabilidad de MongoDB la convierte en una de las bases de datos más utilizadas porque brinda una serie de beneficios en el campo del desarrollo de software y la ciencia de datos. Seguir una carrera en estos campos es una opción lucrativa. El programa Executive PG de upGrad en ciencia de datos es un excelente lugar para iniciar su carrera en ciencia de datos y otros campos relacionados.
¿Por qué MongoDB es tan fácil de escalar?
MongoDB es fácil de escalar porque no es una base de datos SQL, ya que los datos dentro de MongoDB no están acoplados relacionalmente. Los datos en MongoDB se almacenan en un formato autónomo que permite un fácil escalado horizontal mediante la distribución de estos documentos en múltiples sistemas (nodos).
¿Cuál es la diferencia entre MongoDB y los sistemas de bases de datos como MariaDB y MySQL?
MongoDB es una base de datos NoSQL, mientras que MariaDB y MySQL son bases de datos SQL. Además, MongoDB es una base de datos no relacional, mientras que las otras dos son bases de datos relacionales.
¿Por qué MongoDB es tan popular?
MongoDB es una parte esencial de la pila MERN en el desarrollo web. También es fácil implementar y escalar proyectos en MongoDB. MongoDB es conocido por su escalabilidad. Es una gran opción para cualquier tubería de desarrollo.