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

Ejecuta pipelines de agregación con VS Code

Puedes ejecutar pipelines de agregación en tus colecciones en la VS Code Extension. Los pipelines de agregación consisten en etapas que procesan tus datos y devuelven resultados calculados.

Usos comunes de la agregación incluyen:

  • Agrupación de datos según una expresión dada.

  • Calcular los resultados en función de varios campos y almacenar esos resultados en un nuevo campo.

  • Filtrar datos para devolver un subconjunto que coincida con un criterio dado.

  • Ordenando datos.

Cuando se ejecuta una agregación, la VS Code Extension proporciona cómodamente los resultados directamente dentro de Visual Studio Code.

Puedes ejecutar pipelines de agregación en un MongoDB Playground. MongoDB Playgrounds es un entorno en JavaScript en el que puedes crear prototipos de consultas, agregaciones y comandos de MongoDB con ayuda de resaltado de sintaxis.

Para abrir un nuevo MongoDB Playground:

1

En Visual Studio Code, presione una de las siguientes combinaciones de teclas:

  • Control + Shift + P en Windows o Linux.

  • Command + Shift + P en macOS.

El Command Palette proporciona acceso rápido a los comandos y a los atajos de teclado.

2

Utiliza la barra de búsqueda Command Palette para buscar comandos. Todos los comandos relacionados con VS Code Extension van precedidos de MongoDB:.

Cuando ejecutas el comando MongoDB: Create MongoDB Playground, VS Code Extension abre una plantilla de entorno de pruebas por defecto preconfigurada con algunos comandos.

Nota

Para cargar nuevos patios de juegos sin la plantilla, desactive la configuración Use Default Template For Playground. Para aprender más sobre la configuración de la extensión VS Code, consulta Configuración de Visual Studio Code.

Para crear un pipeline de agregación, utiliza la siguiente sintaxis en tu Playground:

db.<collection>.aggregate([
{
<$stage1>
},
{
<$stage2>
}
...
])

Para ejecutar tu Playground, pulsa el botón en la esquina superior derecha de la Vista del Playground. La extensión VS Code divide tu Playground y muestra los resultados de tu Playground en el panel Playground Results. Si has deshabilitado la vista de división, la Extensión de VS Code muestra los resultados de tu Playground en una nueva pestaña.

Para ejecutar este ejemplo, empieza con un MongoDB Playground en blanco borrando la plantilla Playground, si está cargada.

Considera el siguiente playground, en el que se inserta datos de muestra en una colección y luego se agregan dichos datos:

use("test");
db.sales.insertMany([
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : new Date("2014-03-01T08:00:00Z") },
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : new Date("2014-03-01T09:00:00Z") },
{ "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : new Date("2014-03-15T09:00:00Z") },
{ "_id" : 4, "item" : "xyz", "price" : 5, "quantity" : 20, "date" : new Date("2014-04-04T11:21:39.736Z") },
{ "_id" : 5, "item" : "abc", "price" : 10, "quantity" : 10, "date" : new Date("2014-04-04T21:23:13.331Z") },
{ "_id" : 6, "item" : "def", "price" : 7.5, "quantity": 5, "date" : new Date("2015-06-04T05:08:13Z") },
{ "_id" : 7, "item" : "def", "price" : 7.5, "quantity": 10, "date" : new Date("2015-09-10T08:43:00Z") },
{ "_id" : 8, "item" : "abc", "price" : 10, "quantity" : 5, "date" : new Date("2016-02-06T20:20:13Z") }
])
db.sales.aggregate([
{ $match: { date: { $gte: new Date("2014-01-01"), $lt: new Date("2015-01-01") } } },
{ $group: { _id: "$item", totalSaleAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } } } }
])

Esta pipeline:

  1. Cambia a la test database.

  2. Inserta ocho documentos en la colección test.sales.

  3. Realiza una agregación en dos etapas:


    Primera etapa
    La etapa $match filtra los datos de modo que solo las ventas del año 2014 pasen a la siguiente etapa.
    Segunda etapa
    La etapa $group agrupa los datos por ítem. La etapa añade un nuevo campo al output llamado totalSaleAmount, que es la culminación del price y el quantity del ítem.

Cuando presione el Play Button, la extensión VS Code divide su espacio de trabajo y muestra el siguiente documento en el panel Playground Results.json. Si desactivaste la vista dividida, la Extensión de VS Code genera el siguiente documento en una nueva pestaña:

[
{
_id: 'abc',
totalSaleAmount: 120
},
{
_id: 'jkl',
totalSaleAmount: 20
},
{
_id: 'xyz',
totalSaleAmount: 150
}
]

Tip

  • Para obtener más información sobre las etapas de agregación disponibles, consulta Etapas de agregación.

  • Para obtener más información sobre los operadores de agregación disponibles que se pueden utilizar dentro de las etapas, consulte Expresiones.

Volver

Borrar

En esta página