CouchDB - Просмотры не обновляются после удаления - PullRequest
3 голосов
/ 06 сентября 2011

У меня есть представление, подобное этому (надуманный пример):

function (doc) {
if (doc.attrib) {emit ([doc.attrib], doc._id)}
}

Все работает, как ожидалось, пока данные не будут удалены.Я получаю этот сумасшедший сценарий, когда в реальной базе данных нет данных (подтверждено с помощью _all_docs и _changes, запускаемых на curl, а также all_documents на Futon).Однако представление по-прежнему возвращает данные (опять же как для curl, так и для Futon).

Удаление включает в себя массовые операции удаления и очистки через ektorp.Запуск _changes после каждого подтверждает эту работу, как и ожидалось.повторное создание представления позволяет отразить истинное состояние документов в БД.

Я что-то упустил здесь очевидное или представления в CouchDB только инкрементные?

1 Ответ

3 голосов
/ 06 сентября 2011

Вы действительно _чистили данные?Это должно сделать недействительным представление и привести к полной перестройке.Я отмечу, что _purge не рекомендуется для нормального использования.Он существует только для случайностей, например, для вставки вашего незашифрованного пароля в документ.

Возможно, вы обнаружили ошибку в _purge, поэтому, если вы можете надежно вызвать это с помощью _purge, но не если вы просто удалите, я призываю васподать тикет на нашу JIRA (https://issues.apache.org/jira/browse/COUCHDB).

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

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