Снова уменьшить объем данных с помощью нескольких ключей

#javascript #couchdb

#javascript #couchdb

Вопрос:

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

 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:

Функция 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  '}'); 
}
  

Комментарии:

1. К вашему СВЕДЕНИЮ: функции списка предлагаются для устаревания в следующем крупном выпуске.

2. Спасибо за информацию, вы можете опубликовать ссылку со ссылкой?