Docs Menu
Docs Home
/ /

Ejecutar pipelines de agregación con VS Code

Puedes correr Canalizaciones de agregación en sus colecciones en la extensión de VS Code. Las canalizaciones de agregación constan de etapas que procesan sus datos y devuelven resultados calculados.

Los usos comunes de la agregación incluyen:

  • Agrupar datos mediante una expresión dada.

  • Calcular resultados basados ​​en múltiples campos y almacenar esos resultados en un nuevo campo.

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

  • Ordenar 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 Playground de MongoDB. Los Playgrounds de MongoDB son entornos JavaScript donde puedes crear prototipos de consultas, agregaciones y comandos de MongoDB con un práctico 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 Playgrounds sin la plantilla, desactive la opción Use Default Template For Playground. Para obtener más información sobre la configuración de la extensión de VS Code, consulte Configuración de Visual Studio Code.

Para crear una canalización de agregación, utilice la siguiente sintaxis en su Playground:

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

Para ejecutar tu Playground, pulsa Play Button en la esquina superior derecha de la vista Playground. VS Code Extension divide tu Playground y muestra los resultados en el panel Playground Results.json. Si desactivaste la vista dividida, VS Code Extension muestra los resultados en una nueva pestaña.

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

Considere el siguiente campo de juego que inserta datos de muestra en una colección y agrega esos 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 tubería:

  1. Cambia a la test base de datos.

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

  3. Realiza una agregación en dos etapas:


    Primera etapa
    La etapa filtra los datos de modo que sólo las ventas del $match 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.

Al presionar Play Button, VS Code Extension divide el área de juegos y genera el siguiente documento en el panel Playground Results.json. Si desactivó la vista dividida, VS Code Extension 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, consulte Etapas de agregación.

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

Volver

Borrar

En esta página