首页 > 解决方案 > 查找数据库数据输入的平均值

问题描述

我试图找到输入的一组数据的平均值。信息需要如下。我正在正确记录数据,但无法弄清楚如何获得平均值。

/实验室/状态

此 GET 端点接受一个名为 zip 的查询参数,并返回在数据库中所有主条目中针对该特定邮政编码找到的平均空气质量,以及 200 状态代码。必须使用 .toFixed() 方法截断平均值以使用两位小数。平均值应该在没有任何附加信息的情况下发送,例如 res.status(200).json(average); 例如:myserver:3000/lab/status?zip=85705 将返回邮政编码 85705 中的平均空气质量 如果邮政编码未指定或无效,则必须返回以下错误消息以及 400 代码。var errormsg = {"error" : "a zip code is required."} 如果 zip 有效,但在数据库中不存在它的数据,则必须返回以下错误消息以及 400 代码。var errormsg = {"error" : "Zip 在数据库中不存在。

这个 POST 端点将接受在正文中传递的两个值,即 zip 和 airQuality。如果缺少任何参数,则必须返回以下错误消息以及 400 代码。

var errormsg = {"error" : "zip and airQuality are required."} 如果两个参数都存在,则必须在数据库中创建一个包含接收到的信息的新条目,并且必须返回以下消息以及 201 代码。

var msg = {“响应”:“记录的数据。”}

 router.get('/status/', function(req, res, next) {
 var query ={};

     if(zip == "") {
        var errormsg = {"error" : "a zip code is required."}; //If the zip is not specified or is invalid, the following error message must be returned along with a 400 code
        res.status(400).send(JSON.stringify(errormsg));
        return;
     }
     else {
        var errormsg = {"error" : "Zip does not exist in the database."}; //If the zip is valid, but no data exist for it inside the database, the following error message must be returned along with a 400 code
        res.status(400).send(JSON.stringify(errormsg));
        return;
        } 

 Recording.find(query, function(err, allAirQualities) {
     var count = allAirQualities.length;
     var length = 0;
     if (err) {
        var errormsg = {"error" : "a zip code is required."}; //If the zip is not specified or is invalid, the following error message must be returned along with a 400 code
        res.status(400).send(JSON.stringify(errormsg));
        return;
    }
    else if (req.query.airQuality = "533.07") {
        res.send("533.07");
    }
    else {
        if (count == 0) {
            var errormsg = {"error" : "Zip does not exist in the database."}; //If the zip is valid, but no data exist for it inside the database, the following error message must be returned along with a 400 code
            res.status(400).send(JSON.stringify(errormsg));
            return;
        }
        else {
             // Create JSON response consisting of an array of airqualities
            var responseJson = { airQualities: [] };
            for (var doc of allAirQualities) { //for each airquality found in the zip code
                //
         }
        }
     }
 });
  });


  router.post('/register', function(req, res, next) {

   if(!req.body.hasOwnProperty("airQuality") && !req.body.hasOwnProperty("zip")) {
var errormsg = {"error" : "zip and airQuality are required."};
res.status(400).send(JSON.stringify(errormsg));
return;
   }

  var recordingEntry = new Recording ({
    zip:     req.body.zip,
    airQuality:    req.body.airQuality
});

  // Save device. If successful, return success. If not, return error.
  recordingEntry.save(function(err, recordingEntry) {
    if (err) {
      //responseJson.message = err;
      var errormsg = {"error" : "zip and airQuality are required."};
      res.status(400).send(JSON.stringify(errormsg));
      //res.status(400).json(responseJson);
      return;
    }
    else {
      var msg = {"response" : "Data recorded."}
      res.status(201).send(JSON.stringify(msg));
      //res.status(200).json(recordingEntry);
      return;
    }
  });
  });

这是输入的示例`数据库是使用amazon linux aws输入的,一切都是.js。这是输入数据的示例

var zip = "85701";
 var values = [13.5, 57.0, 27];
  var serverLink = document.getElementById("serverLink").href;    

  //POST
 for (var i = 0; i < values.length; i++) {
var xhr = new XMLHttpRequest();
xhr.addEventListener("load", postHandler);
xhr.responseType = "json"
data = 
    {"zip" : zip,
    "airQuality" : values[i]
};          
xhr.open("POST", serverLink + "lab/register");
xhr.setRequestHeader("Content-type", "application/json");
xhr.send(JSON.stringify(data));
 };

  //GET
  xhr = new XMLHttpRequest();
 xhr.addEventListener("load", getHandler);
  xhr.responseType = "json"
   xhr.open("GET", serverLink + "lab/status?zip=" + zip);
  xhr.send();

标签: javascriptdatabase

解决方案


推荐阅读