Skip to content

Instantly share code, notes, and snippets.

@tiagoandrepro
Created May 1, 2023 20:02
Show Gist options
  • Save tiagoandrepro/039920d4ea388ef40ea6f4e4fa296dab to your computer and use it in GitHub Desktop.
Save tiagoandrepro/039920d4ea388ef40ea6f4e4fa296dab to your computer and use it in GitHub Desktop.
[
{
$match: {
NR_VOTAVEL: 1580,
SG_UF: "SP",
CD_CARGO_PERGUNTA: 6,
},
},
{
$group: {
_id: {
SG_UF: "$SG_UF",
CD_MUNICIPIO: "$CD_MUNICIPIO",
CD_CARGO_PERGUNTA: "$CD_CARGO_PERGUNTA",
},
NR_TURNO: {
$first: "$NR_TURNO",
},
CD_ELEICAO: {
$first: "$CD_ELEICAO",
},
SG_UF: {
$first: "$SG_UF",
},
CD_MUNICIPIO: {
$first: "$CD_MUNICIPIO",
},
NM_MUNICIPIO: {
$first: "$NM_MUNICIPIO",
},
NR_ZONA: {
$first: "$NR_ZONA",
},
NR_SECAO: {
$first: "$NR_SECAO",
},
CD_CARGO: {
$first: "$CD_CARGO_PERGUNTA",
},
NR_PARTIDO: {
$first: "$NR_PARTIDO",
},
NR_VOTAVEL: {
$first: "$NR_VOTAVEL",
},
QT_VOTOS: {
$sum: "$NR_TURNO",
},
},
},
{
$lookup: {
from: "schools",
let: {
uf: "$SG_UF",
zona: "$NR_ZONA",
secao: "$NR_SECAO",
turno: "$NR_TURNO",
},
pipeline: [
{
$match: {
$expr: {
$eq: ["$$uf", "$SG_UF"],
},
},
},
{
$match: {
$expr: {
$eq: ["$$zona", "$NR_ZONA"],
},
},
},
{
$match: {
$expr: {
$eq: ["$$secao", "$NR_SECAO"],
},
},
},
{
$match: {
$expr: {
$eq: ["$$turno", "$NR_TURNO"],
},
},
},
],
as: "LOCAL",
},
},
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment