Você está na página 1de 6

Agregaciones

SUM

db.Agencia.aggregate([{$group: { _id:"$marca", num_autos: {$sum:1} }} ] )

en este ejemplo se agruparan por marca y contara el numero de autos con esa marca se sumara
uno a numero de autos

db.Agencia.aggregate([{$group: { _id:"$tipo", num_autos: {$sum:1} }} ] )

en este ejemplo se agruparan por tipo y contara el numero de autos de ese tipo se sumara uno a
numero de autos

AddToSet

En este ejemplo nos ayuda a agrupas los tipos de autos que tenemos y coleccionamos las distintas
tracciones de motor con las que cuenta

db.Agencia.aggregate([{$group: { _id:"$tipo", caracteristicas: {$addToSet:


"$caracteristicasMotor.traccion"} } } ] )
db.Agencia.aggregate([{$group: { _id:"$tipo", caracteristicas: {$addToSet:
"$otrasCaracteristicas.colorPrimario"} } } ] )

En este ejemplo nos ayuda a agrupas los tipos de autos que tenemos y coleccionamos los distintos
tipos de colores Primarios de cada tipo de auto

$push

En este ejemplo nos ayuda a agrupas los tipos de autos que tenemos y coleccionamos los distintos
tipos de colores Primarios de cada tipo de auto pero a diferencia del otro si se repiten con el push
si muestra los que se repiten

db.Agencia.aggregate([{$group: { _id:"$tipo", caracteristicas: {$push:


"$otrasCaracteristicas.colorPrimario"} } } ] )

En este ejemplo nos ayuda a agrupas los tipos de autos que tenemos y coleccionamos las distintas
tracciones de motor con las que cuenta cada tipo de auto

db.Agencia.aggregate([{$group: { _id:"$tipo", caracteristicas: {$push:


"$caracteristicasMotor.traccion"} } } ] )
$avg

En este ejemplo calcula la media de acuerdo al precio de el tipo de auto

db.Agencia.aggregate([{$group: { _id:"$tipo", caracteristicas: {$avg: "$Precio"} } } ] )

$unwind

Agrupa por tipo de automovil

db.Agencia.aggregate([ {$unwind: "$tipo"}, {$group: {_id:"$tipo",total:{$sum:1}}}])

Max y min

db.Agencia.aggregate([{$group: { _id:"$tipo", caro: {$max: "$Precio"}, barato:{$min: "$Precio" }}} ]


)

agrupa por tipo de auto y muestra que precio es el caro y el barato

First db.Agencia.aggregate([{$group: { _id:"$tipo", primero: {$first: "$marca" }}} ] )

muestra los tipos de autos y que marca es el primero


last

db.Agencia.aggregate([{$group: { _id:"$tipo", primero: {$last: "$marca" }}} ] )

muestra los tipos de autos y que marca es el ultimo

Bucket

db.Agencia.aggregate([{$bucket: { groupBy:"$Precio", boundaries: [100000,186000,190900],


default: "buen precio" } } ] )

intervalos de precios

bucketAuto

db.Agencia.aggregate([{$bucketAuto: { groupBy: "$Precio", buckets:5 } } ])

intervalos de precios automatico

$project

db.Agencia.aggregate( [ { $project : { tipo : 1 , marca : 1 } } ] )

tu pones lo que deseas ver que campos obtener si es uno lo muestra y si pones 0 lo oculta
$Match

se utiliza $matchpara realizar una coincidencia de igualdad simple

db.Agencia.aggregate ( [ { $match : { "tipo" : "automovil" } } ] );

SORT

db.Agencia.aggregate ( { $sort: { "tipo": 1, "marca":-1}} )

$sort toma un documento que especifica el (los) campo (s) para ordenar y el orden de clasificación
respectivo.
SKip

db.Agencia.aggregate ( { $skip: 16} )

Esta operación omite los primeros 16 documentos pasados por la canalización

Limit

db.Agencia.aggregate ( { $limit: 2} )

Limita la cantidad de documentos pasados a la siguiente etapa en la tubería .

OUT

Redirige la salida de una agrupación creando una nueva colección.

db.Agencia.aggregate ( [{ $group: { _id:"$tipo", marcas:{ $push: "$marca"}}}, {$out: "carro"}] )

lookup

db.Agencia.aggregate([{$lookup:{ from:"Agencia", localField: "item", foreignField:"marca", as:


"caracteristicas"}}])

ese ejemplo hace una seleccion como SQL

Você também pode gostar