Sir*_*ont 3 replication couchdb attachment
我遇到CouchDB 1.1.0的问题.我在笔记本电脑中创建了一个数据库并将其复制到我的服务器上.然后,我将附件添加到本地数据库并将它们复制到远程数据库.
在第二次复制时,似乎出现了错误.附件已正确上传,但我无法将其附加到文档上.
如果我检查数据库大小,它们就在这里.但我无法得到它们,也无法删除它们.(清理数据库不会删除它们).
当从远程复制到另一个DB时,我仍然复制了"ghost附件".
有没有人对此有任何想法?我怎么能删除这些附件?
也许你有文件冲突.
与军事冲突或道德冲突不同,CouchDB冲突是正常且有用的,通常在复制后发生.(冲突是有点类似于分支在GIT中,水银,或BZR).
在复制期间,CouchDB有时会收到同一文档的替代版本.在这种情况下,CouchDB会将两个版本替换为另一个版本.不幸的是,当您查询CouchDB以获取该文档时,它必须决定发送哪个文档; 基本上它只选择一个修订并发送.使用普通GET /db/doc_id查询,您甚至不会意识到"冲突"(替代)修订版本隐藏在某个地方的数据库中.
上面的链接显示了如何查找和解决冲突(当您删除不需要的修订时,剩余的修订将可见.)关键的示例是查找冲突的视图:
function(doc) {
// Map function in a CouchDB view to find conflicts.
if(doc._conflicts) {
emit(doc._conflicts, null);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您查询该视图,我认为您会看到一些冲突.如果视图返回0行,那么这根本不是问题,我们必须继续考虑你的问题.