【问题标题】:Adding doc value in mongodb在 mongodb 中添加 doc 值
【发布时间】:2018-12-17 16:19:54
【问题描述】:

我正在尝试查找对象中值的平均值。这些值保存在 mongodb 中,但作为字符串保存。我想在表格上找到平均值并返回。

文档:

{
{
  "_id": "someId",
  "english": "78",
  "literature": "78",
  "period": "1st Period"
}{
  "_id": "someId",
  "english": "90",
  "literature": "90",
  "period": "2nd Period"
}{
  "_id": "someId",
  "english": "70",
  "literature": "99",
  "period": "3rd Period"
}{
  "_id": "someId",
  "english": "50",
  "literature": "60",
  "period": "First Sem. Exam"
}{
  "_id": "someId",
  "english": "68",
  "literature": "88",
  "period": "4th Period"
}{
  "_id": "someId",
  "Average": "",
  "period": "First Sem. Average"
}{
  "_id": "someId",
  "english": "40",
  "literature": "77",
  "period": "5th Period"
}{
  "_id": "someId",
  "english": "70",
  "literature": "66",
  "period": "6th Period"
}{
  "_id": "someId",
  "english": "55",
  "literature": "79",
  "period": "Second Sem. Exam"
}{
  "_id": "someId",
  "Average": "",
  "period": "Second Sem. Average"
}
}

如文档中所述,我想获得1st Period, 2nd Period, 3rd PeriodFirst Sem. Exam 的平均值并将其返回到表格中

有什么方法可以实现吗?

【问题讨论】:

    标签: javascript json mongodb


    【解决方案1】:

    考虑到docs 是一个数组,这应该可以让您很好地了解如何获得英语平均值。您首先从数组中提取所需的四个句点。然后你提取你想要的结果。最后,您只需做平均数。

    const filteredDocs = docs.filter(element => {
        return (
            element.period === "1st Period" ||
            element.period === "2nd Period" ||
            element.period === "3rd Period" ||
            element.period === "First Sem. Exam"
        );
    });
    
    const englishResults = filteredDocs.map(element => {
        return parseInt(element.english);
    });
    
    const englishAverage =
        englishResults.reduce((a, b) => a + b, 0) / englishResults.length;
    

    【讨论】:

    • 谢谢,这很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2020-09-22
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多