Uso del Operador Group en MongoDB Aggregation Framework
Clase 6 de 21 • Curso de MongoDB: Aggregation Framework
Contenido del curso
- 5

Agregaciones en MongoDB: Filtrar y Ordenar Propiedades en Compass
06:38 - 6

Uso del Operador Group en MongoDB Aggregation Framework
10:45 - 7

Uso del Operador Project en MongoDB para Formatear Resultados
06:32 - 8

Operadores Count y Average en MongoDB Aggregation Framework
07:15 - 9

Uso de operadores set y project en MongoDB para formateo de datos
13:43
- 10

Desenredado de Arrays con Unwind en MongoDB Aggregation
09:40 - 11

Almacenamiento de Consultas en MongoDB con el Operador Out
09:37 - 12

Coordenadas Georreferenciadas y MongoDB: Manejo con Aggregation Framework
11:17 - 13

Análisis de Precios de Propiedades por Proximidad Geográfica
10:02 - 14

Uniones en MongoDB con el Operador Lookup para Análisis de Datos
13:38
¿Cómo realizar operaciones avanzadas con el operador Group en MongoDB?
¿Te has preguntado cómo encontrar la propiedad más barata y la más cara dentro de un conjunto de propiedades en Estados Unidos, clasificadas por tipo? MongoDB proporciona una potente herramienta para realizar operaciones como esta: el Aggregation Framework, específicamente el operador Group. En esta ocasión, profundizaremos en su uso.
¿Qué es el operador Group?
El operador Group de MongoDB es una herramienta poderosa utilizada para agrupar documentos mediante un campo o expresión y para realizar operaciones de agregación como sumas, promedios o buscar el primer y último elemento.
¿Cómo se filtran propiedades por país utilizando el operador Match?
Para comenzar, es esencial filtrar las propiedades ubicadas exclusivamente en Estados Unidos. Esto se realiza mediante el operador Match en una etapa inicial del pipeline de agregación:
{
$match: {
"Address.Country Code": "US"
}
}
Esta instrucción asegúrate de que solamente se procesen las propiedades en Estados Unidos.
¿Cómo ordenar propiedades antes de agruparlas?
Antes de hallar la propiedad más económica y la más cara, es crucial ordenar los documentos. Utiliza el operador Sort para ordenar por tipo de propiedad y precio:
{
$sort: {
"Property Type": 1,
"Price": 1
}
}
La instrucción anterior ordena las propiedades primero por tipo de propiedad y dentro de cada tipo, por precio, de menor a mayor.
¿Cómo agrupar propiedades y encontrar las más baratas y caras?
El centro de este reto es usar el operador Group. Este operador requiere dos etapas: sobre cuál campo agrupar, y qué operaciones realizar sobre los agrupamientos.
-
Especificando el campo de agrupación:
{ $group: { _id: "$Property Type" } }En este paso, les indicamos que agrupen por el campo
Property Type. -
Definiendo las operaciones de agregación:
Aquí se utiliza el operador de acumulación
firstpara obtener la propiedad más barata ylastpara la más cara:{ $group: { _id: "$Property Type", "Más Bajo": { $first: { "Nombre": "$Name", "Precio": "$Price", "Dirección": "$Address" } }, "Más Alto": { $last: { "Nombre": "$Name", "Precio": "$Price", "Dirección": "$Address" } } } }Más Bajousa$firstpara capturar el primer elemento del grupo.Más Altousa$lastpara obtener el último elemento del grupo.
Conclusiones y recomendaciones
Utilizando el operator Group, hemos extraído el primer y último elemento de cada categoría de tipo de propiedad. Lo fascinante es que todo esto se realizó sin alterar los datos originales almacenados en MongoDB. Los cambios existen solamente en el pipeline de agregación.
El operador Group es extremadamente versátil y te permite manipular datos de formas profundas y significativas. Así que, ¿por qué no experimentar con diferentes métodos de agrupación? Juega con las opciones, realiza tus propios experimentos y comparte tus hallazgos. La práctica y exploración constante son claves para dominar herramientas de análisis de datos como esta.