删除ID为空的文档

时间:2010-04-16 08:40:32

标签: couchdb

我正在制作CouchDB数据库。其中一个文件已被编辑(在其他开发商的Futon中) 它丢失了它的ID(不要问我是怎么做的)。

所以现在文档的id是一个空字符串,这使得无法通过Futon编辑或删除 有没有办法我可以入侵CouchDB来删除该文档?

4 个答案:

答案 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?

中所述