Database

[{"_id":ObjectId("609c2c2d420a73728827e87f"),"timestamp":ISODate("2020-07-01T02:15:00Z"),"sensor_id":1,"location_id":1,"medidas":[{"tipo_medida":"Temperatura","valor":14.03,"unidad":"ºC"},{"tipo_medida":"Humedad_relativa","valor":84.32,"unidad":"%"}]},{"_id":ObjectId("609c2c2d420a73728827e880"),"timestamp":ISODate("2020-07-01T02:15:00Z"),"sensor_id":2,"location_id":1,"medidas":[{"tipo_medida":"Emision_CO2","valor":1.67,"unidad":"gCO2/m2"},{"tipo_medida":"Consumo_electrico","valor":0.00155,"unidad":"kWh/m2"}]}]

Query

db.collection.aggregate([{$unwind:{path:"$medidas",}},{$addFields:{Hora:{$hour:"$timestamp"}}},{$match:{"Hora":{$in:[2]},"medidas.tipo_medida":"Emision_CO2","location_id":1}},{$group:{_id:null,Avg_Emision_CO2:{$avg:"$medidas.valor"}}}])

Result