Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
No muestra la salida $Sum en mongodb

He codificado una consulta simple de $sum pero no parece mostrarme el resultado que quiero. Se supone que muestra la temperatura del aire promedio para todas las unidades de la máquina.

 var express = require('express'); var app = express(); var mongojs = require('mongojs'); var db = mongojs('meibanlist', ['meibanlist']); var bodyParser = require('body-parser'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.json()); app.get('/meibanlist', function (req, res) { console.log('I received a GET request'); db.meibanlist.find(function (err, docs) { console.log(docs); res.json(docs); }); }); app.post('/meibanlist', function (req, res) { console.log(req.body); db.meibanlist.insert(req.body, function(err, doc) { res.json(doc); }); }); app.delete('/meibanlist/:id', function (req, res) { var id = req.params.id; console.log(id); db.meibanlist.remove({_id: mongojs.ObjectId(id)}, function (err, doc) { res.json(doc); }); }); app.get('/meibanlist/:id', function (req, res) { var id = req.params.id; console.log(id); db.meibanlist.findOne({_id: mongojs.ObjectId(id)}, function (err, doc) { res.json(doc); }); }); app.put('/meibanlist/:id', function (req, res) { var id = req.params.id; console.log(req.body.machine_unit); db.meibanlist.findAndModify({ query: {_id: mongojs.ObjectId(id)}, update: {$set: {machine_unit: req.body.machine_unit, air_temperature: req.body.air_temperature, water_temperature: req.body.water_temperature, heat_temperature: req.body.heat_temperature, room_temperature: req.body.room_temperature, date: req.body.date, time: req.body.time}}, new: true}, function (err, doc) { res.json(doc); } ); });

///aquí es donde todo salió mal

 db.meibanlist.aggregate([{$project:{ "Average": { $avg: ["$air_temperature"] }}}], function(err, meibanlist){ if (err || !meibanlist) console.log ("Record not found"); else meibanlist.forEach (function(machine_unit){ console.log(machine_unit); }); }); app.listen(3000); console.log("Server running on port 3000");
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para obtener la temperatura del aire promedio de todas las unidades de la máquina, puede hacerlo de la siguiente manera, suponiendo que su unidad de la máquina sea única.

 db.meibanlist.aggregate({$group: {_id: null,"average": {$avg: "$air_temperature"}}}).pretty()

En caso de que desee agrupar la unidad_máquina y obtener la temperatura_aire promedio en función de la unidad_máquina, puede hacerlo de la siguiente manera

 db.meibanlist.aggregate({$group: {_id: "$machine_unit","average": {$avg: "$air_temperature"}}}).pretty()

En caso de que tenga una matriz almacenada en air_temperature y desee proyectar y obtener el promedio de air_temperature para cada registro. Puedes lograrlo de la siguiente manera:

 db.meibanlist.aggregate({"$project": {"average": {$avg: "$air_temperature"}}}).pretty()
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda