CouchDb, как показать данные внутри массива и суммировать это? - PullRequest
0 голосов
/ 03 июля 2019

Я использую CouchDb и хочу создать представление, в котором я хочу подсчитать количество голосов на партию в моих документах.Я не могу даже показать все партии, он показывает только 3 случайные партии после того, как я запустил функцию, которую я перечислил ниже.

Как мне подсчитать голоса от каждой партии?

Документ в CouchDB:

{
  "_id": "729489bb6702c473bb72254d13003f85",
  "_rev": "1-50da566becf84a0a686853290c2ad8a5",
  "Projects": [
    {
      "city": "Kentucky",
      "amount of people living": "853312",
      "overview": [
        {
          "building": "Center building",
          "amount of people": "150000",
          "teams": [
            {
              "party": "xd",
              "vote": "50"
            },
            {
              "party": "zh",
              "vote": "50"
            },
            {
              "party": "gh",
              "vote": "50"
            },
            {
              "party": "sd",
              "vote": "50"
            }
          ]
        },
        {
          "building": "Left building",
          "amount of people": "120000",
          "teams": [
            {
              "party": "gh",
              "vote": "50"
            },
            {
              "party": "sw",
              "vote": "50"
            },
            {
              "party": "gj",
              "vote": "50"
            }
          ]
        },
        {
          "building": "Right building",
          "amount of people": "200000",
          "teams": [
            {
              "party": "sd",
              "vote": "50"
            },
            {
              "party": "gs",
              "vote": "50"
            },
            {
              "party": "er",
              "vote": "50"
            }
          ]
        }
      ]
    }
  ]
}

Таблица 2:

{
  "_id": "729489bb6702c473bb72254d13003f85",
  "_rev": "1-50da566becf84a0a686853290c2ad8a5",
  "Projects": [
    {
      "city": "Kentucky",
      "amount of people living": "853312",
      "overview": [
        {
          "building": "Center building",
          "amount of people": "150000",
          "teams": [
            {
              "party": "xd",
              "vote": "50"
            },
            {
              "party": "zh",
              "vote": "50"
            },
            {
              "party": "gh",
              "vote": "50"
            },
            {
              "party": "sd",
              "vote": "50"
            }
          ]
        },
        {
          "building": "Left building",
          "amount of people": "120000",
          "teams": [
            {
              "party": "xd",
              "vote": "50"
            },
            {
              "party": "zh",
              "vote": "50"
            },
            {
              "party": "gh",
              "vote": "50"
            }
          ]
        },
        {
          "building": "Right building",
          "amount of people": "200000",
          "teams": [
            {
              "party": "xd",
              "vote": "50"
            },
            {
              "party": "zh",
              "vote": "50"
            },
            {
              "party": "gh",
              "vote": "50"
            }
          ]
        }
      ]
    }
  ]
}

Что я хочу:

Key   | Value
-----------------------------
xd    | 300  
zh    | 300      
gh    | 300
sd    | 100          

Что я пытался использовать ине работал:

function (doc) {
var i;
  for( i=0; i < doc.Projects.length; i++){

  emit(doc.Projects[i].overview[i].teams[i].party,1);

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...