CouchDB查看结果包含"缺少"清除后的文档

时间:2014-08-31 07:39:31

标签: couchdb

在Couch数据库中清除一组文档后,某些视图结果包含数据库中实际不存在的文档。访问此类文档后,将返回错误消息

{"error":"not_found","reason":"missing"}

此外,视图结果中包含一些此类"缺失"的重复条目。文档。
其中一些文档也包含相互矛盾的修订。

以下是列出此类文档的简单视图。根据该观点,不应该有重复的结果。

function(doc) {

    if (doc.documentType == 'theDocType') {
        emit(theDocType, doc);
    } 
}

我创建了一个新文档,其ID为"缺少"文件,并尝试再次清除它(给出新的转速和所有相互冲突的转速)。但在清除后,视图结果与之前的结果相同。

知道导致此问题的原因以及如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我最近也遇到了这个问题并找到了你的问题。

我通过删除存储在Windows

上的视图记录来修复它
"...\couchdb.2.1.1\data\.dbname_design\mrview\*.view"

这里是Linux

<couch data directory>/.dbname_design\mrview*.view (usually /var/lib/couchdb or /usr/local/var/lib/couchdb)

每个.view都以md5命名,全部删除,然后重启服务。然后再次请求视图,它将重建此索引,在根据数据库的大小正确构建之前,可能需要2或3次尝试。

希望有人可以添加linux路径。