Снова уменьшите данные с помощью нескольких клавиш - PullRequest
2 голосов
/ 09 апреля 2019

У меня есть вид, который подсчитывает отчеты для каждого города

function (doc) {
  if(doc.type == "report")
  {
     emit(doc.city_name, null);
  }
}

И я уменьшаю его на _count, что дает следующие значения:

{'key': 'South Tampa', 'value': 2}
{'key': 'Sebring', 'value': 19}
{'key': 'Satsuma', 'value': 3}
{'key': 'Palm Desert', 'value': 1}
{'key': 'Indio', 'value': 1}

В данный момент я делаю запрос с несколькими ключами для этого представления (например, ["Indio", "Satsuma"]) и суммирую их в python.

Можно ли суммировать их напрямую с CouchDB?

1 Ответ

1 голос
/ 11 апреля 2019

Функция Couchdb List может дать вам то, что вы хотите.

http://docs.couchdb.org/en/2.1.2/ddocs/ddocs.html#list-functions

Чтобы получить лучшее представление о том, как его использовать, эта статья может оказаться полезной. http://guide.couchdb.org/draft/transforming.html

Функция списка, которая их суммирует:

function(head, req){ 
  i = 0; 
  while(row = getRow()){ i += row.value; } 
  send('{ \"total_count\":' + i +'}'); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...