在Couch数据库中清除一组文档后,某些视图结果包含数据库中实际不存在的文档。访问此类文档后,将返回错误消息
{"error":"not_found","reason":"missing"}
此外,视图结果中包含一些此类"缺失"的重复条目。文档。
其中一些文档也包含相互矛盾的修订。
以下是列出此类文档的简单视图。根据该观点,不应该有重复的结果。
function(doc) {
if (doc.documentType == 'theDocType') {
emit(theDocType, doc);
}
}
我创建了一个新文档,其ID为"缺少"文件,并尝试再次清除它(给出新的转速和所有相互冲突的转速)。但在清除后,视图结果与之前的结果相同。
知道导致此问题的原因以及如何解决此问题?
答案 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路径。