Menu Docs
Página inicial do Docs
/
MongoDB para VS Code
/

Execute aggregation pipelines com VS Code

Nesta página

  • Abra um Playground para executar aggregation pipelines
  • Abra o código do Visual Studio Command Palette .
  • Encontre e execute o comando "Criar MongoDB Playground".
  • Criar e executar um pipeline de agregação
  • Exemplo

Você pode executarpipelines de agregação em suas coleções na extensão VS Code. Os pipelines de agregação consistem em estágios que processam seus dados e retornam resultados calculados.

Os usos comuns para agregação incluem:

  • Agrupar dados por uma determinada expressão.

  • Calcular resultados com base em vários campos e armazenar esses resultados em um novo campo.

  • Filtrar dados para retornar um subconjunto que corresponda a um determinado critério.

  • Classificando dados.

Quando você executa uma agregação, a Extensão de VS Code produz utilmente os resultados diretamente dentro do Código do Visual Studio.

Você pode executar agregação pipelines em um MongoDB Playground. Os MongoDB Playgrounds são ambientes JavaScript nos quais você pode criar protótipos de queries, aggregations e comandos do MongoDB com um recurso prático de destaque de sintaxe .

Para abrir um novo MongoDB Playground:

1

No código do Visual Studio, pressione uma das seguintes combinações de teclas:

  • Control + Shift + P no Windows ou Linux.

  • Command + Shift + P no macOS.

O Command Palette fornece acesso rápido a comandos e atalhos de teclado.

2

Use a barra de pesquisa Command Palette para pesquisar comandos. Todos os comandos relacionados à extensão de VS Code são precedidos por MongoDB:.

Quando você executa o comando MongoDB: Create MongoDB Playground, a extensão de VS Code abre um modelo de playground padrão pré-configurado com alguns comandos.

Observação

Para carregar novos Playgrounds sem o modelo, desabilite a configuração Use Default Template For Playground . Para saber mais sobre as configurações de extensão de VS Code , consulte Configurações de código do Visual Studio.

Para criar um pipeline de agregação , use a seguinte sintaxe no seu Playground:

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

Para executar o Playground, pressione Play Button no canto superior direito da visualização do Playground. A extensão do VS Code divide seu Playground e exibe os resultados do seu Playground no painel Playground Results.json. Se você desativou a visualização dividida, a extensão do VS Code exibirá os resultados do seu Playground em uma nova aba.

Para executar este exemplo, comece com um Playground do MongoDB em branco, limpando o Playground modelo se ele estiver carregado.

Considere o seguinte playground que insere dados de amostra em uma collection e agrega esses dados:

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" ] } } } }
])

Este pipeline:

  1. Alterna para o banco de dados do test.

  2. Insere oito documentos na coleção test.sales.

  3. Realiza uma agregação em duas etapas:


    Primeira etapa
    O estágio $match filtra os dados de forma que somente as vendas do ano 2014 sejam passadas para o próximo estágio.
    Segunda etapa
    O estágio $group agrupa os dados por item. O estágio adiciona um novo campo à saída chamado totalSaleAmount, que é o ponto principal dos price e quantity do item.

Quando você pressiona Play Button, a extensão VS Code divide seu playground e gera o documento a seguir no painel Playground Results.json . Se você desativou a visualização dividida, a Extensão VS Code exibirá o seguinte documento em uma nova aba:

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

Dica

Veja também:

Voltar

Excluir