我正在制作CouchDB数据库。其中一个文件已被编辑(在其他开发商的Futon中) 它丢失了它的ID(不要问我是怎么做的)。
所以现在文档的id是一个空字符串,这使得无法通过Futon编辑或删除 有没有办法我可以入侵CouchDB来删除该文档?
答案 0 :(得分:1)
从技术上讲,文档ID是不可变的,因此实际上更改 _id
字段是不可能的。也许另一个文档被创建为第一个文件的副本?
CouchDB 1.1.0中的错误允许更新函数创建空字符串ID。
A similar question询问此事,我在那里进行了deleting empty ids的演练。
答案 1 :(得分:1)
我无法删除该文档。但是数据库本身可以删除 我无法在locale中重现该bug。另一位开发人员说他刚刚删除了_id param并保存了。我不知道CouchDB发生了什么事。但是当我这样做时,它只会重新创建一个新文档(正如我们期望的那样)。
所以我一直在使用couch_docs在本地检索数据 由于id为空,couch_docs不会导入它。所以你甚至不需要手动删除它。
然后我重新导入其他数据库中的所有记录。我在配置中更改了对数据库名称的引用,一切正常 即使存在空ID,也不会破坏数据库。
答案 2 :(得分:0)
我还没有尝试过,但LoveSeat应该可以打开和编辑couchedb文件......
答案 3 :(得分:0)
这可能是由于_update处理程序缺少CouchDB的错误导致(并修复!),如How do you delete a couchdb document with an empty "" document id?
中所述