Что CouchDB эквивалентен из КОЛИЧЕСТВА SQL (*) агрегатная функция?

1 - Всегда создают резервное копирование прежде, чем открыть соединение, когда Вы будете знать, что необходимо будет обновить или вставить записи.

2 - При записи оператора ALWAYS обновления пишут оператору Where сначала тогда курсор назад к началу строки и пишут полевую часть обновления.

3 - где оператор для № 2 должен быть проверен с избранным оператором.

19
задан Brad Gessler 19 October 2009 в 01:27
поделиться

2 ответа

Похоже, ваши результаты сокращения повторно уменьшаются. То есть reduce вызывается более одного раза для каждого ключа, а затем снова вызывается с этими результатами. Вы можете справиться с этим с помощью функции reduce следующим образом:

function(keys, values, rereduce) {
  if (rereduce) {
    return sum(values);
  } else {
    return values.length;
  }
}

В качестве альтернативы вы можете изменить функцию map так, чтобы значения всегда были количеством документов:

// map
function(doc) {
  emit(doc.name, 1);
}

// reduce
function(keys, values, rereduce) {
  return sum(values);
}
27
ответ дан 30 November 2019 в 02:03
поделиться

В сокращении просто введите:

_count

Вы также можете получить сумму, используя:

_sum

, поэтому в основном сокращайте: «_sum» или reduce: «_count» и убедитесь, что значение, излучаемое вашей картой, является допустимым целым числом (числовое значение)

См. «Встроенные функции сокращения» .

42
ответ дан 30 November 2019 в 02:03
поделиться