Last active
September 14, 2019 18:50
-
-
Save ElissandroMendes/8ab645817d295ed3c8da351c279732b6 to your computer and use it in GitHub Desktop.
Especialização Ciencia de Dados - Exemplos de código aggregate MongoDB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Quantidade de pagamento e totalização dos valores atualizados e pagos por orgão, tipo instrumento e modalidade | |
db.contrato.aggregate( [ | |
{ $group: | |
{ | |
_id:{orgao:"$orgao_sigla", instrumento:"$tipo_instrumento_desc", modalidade: "$modalidade_desc"}, | |
_quantidade: {$sum: 1}, | |
_total_atualizado: {$sum: "$valor_atualizado"}, | |
_total_pago: {$sum: "$valor_pago"} | |
} | |
}, | |
{ $sort: {orgao: 1} | |
]).pretty() | |
2. Valor a pagar pela SEDUC por região e tipo de contrato | |
db.contrato.aggregate( [ | |
{$match: {orgao_sigla: "SEDUC"}}, | |
{ $group: | |
{ | |
_id:{regiao:"$regiao", tipo_contrato:"$tipo_contrato_desc"}, | |
_total_apagar: {$sum: {$subtract:["$valor_atualizado", "$valor_pago"]}} | |
} | |
} | |
]) | |
# Coleção despesa: | |
3. Somatório de empenho e pagamentos por ano | |
db.despesa.aggregate([ | |
{$group: | |
{ | |
_id:"$num_ano", | |
total_empenho: {$sum:"$vlr_empenho"}, | |
total_pago: {$sum:"$vlr_pago"} | |
} | |
} | |
]) | |
4. Somatório de empenho e pagamento por ano e função | |
db.despesa.aggregate([ | |
{$group: | |
{ | |
_id: { ano:"$num_ano", funcao: "$dsc_funcao"}, | |
total_empenho: {$sum:"$vlr_empenho"}, | |
total_pago: {$sum:"$vlr_pago"} | |
} | |
} | |
]) | |
5. Somatório de empenho e pagamento pela função “EDUCAÇÃO” no ano de 2018 | |
db.despesa.aggregate([ | |
{$match:{dsc_funcao: "EDUCAÇÃO", num_ano: "2018"}}, | |
{$group: | |
{ | |
_id: { ano:"$num_ano", funcao: "$dsc_funcao"}, | |
total_empenho: {$sum:"$vlr_empenho"}, | |
total_pago: {$sum:"$vlr_pago"} | |
} | |
} | |
]) | |
6. Qual órgão teve um número maior de pagamento no primeiro mandato de Camilo Santana? | |
db.despesa.aggregate([ | |
{ $match: { num_ano: { $gt: "2015", $lt: "2018" }, vlr_pago: { $gt: 0 } } }, | |
{ $group: | |
{ | |
_id: "$dsc_orgao", | |
qtd_pagamentos: { $sum: 1 }, | |
} | |
}, | |
{ $sort: { qtd_pagamentos: -1} } | |
]) | |
Resposta: ** SECRETARIA DA EDUCAÇÃO ** | |
7. Qual o credor recebeu mais dinheiro do Estado no primeiro mandato do Camilo Santana? | |
db.despesa.aggregate([ | |
{ $match: { num_ano: { $gt: "2015", $lt: "2018" }, vlr_pago: { $gt: 0 } } }, | |
{ $group: | |
{ | |
_id: "$dsc_nome_credor", | |
total_pago_credor: { $sum: "$vlr_pago" }, | |
} | |
}, | |
{ $sort: { total_pago_credor: -1} } | |
]) | |
Resposta: ** SECRETARIA DA EDUCACAO BASICA ** | |
8. Média de empenho e pagamentos por ano | |
db.despesa.aggregate([ | |
{$group: | |
{ | |
_id: { ano:"$num_ano"}, | |
media_empenho: {$avg:"$vlr_empenho"}, | |
media_pago: {$avg:"$vlr_pago"} | |
} | |
} | |
]) | |
9. Média de empenho e pagamento por ano e função | |
db.despesa.aggregate([ | |
{$group: | |
{ | |
_id: { ano:"$num_ano", funcao: "$dsc_funcao"}, | |
media_empenho: {$avg:"$vlr_empenho"}, | |
media_pago: {$avg:"$vlr_pago"} | |
} | |
} | |
]) | |
10. Média de empenho e pagamento pela função “TRANSPORTE” no ano de 2018 | |
db.despesa.aggregate([ | |
{ $match: { dsc_funcao: "TRANSPORTE", num_ano: "2018" }}, | |
{ $group: | |
{ | |
_id: "$dsc_funcao", | |
media_empenho: {$avg:"$vlr_empenho"}, | |
media_pago: {$avg:"$vlr_pago"} | |
} | |
} | |
]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment