删除CouchDb中的文档附件

时间:2010-05-01 14:07:25

标签: couchdb

在CouchDb的文档中,所描述的删除文档附件的方法是向附件的URL发送DELETE调用。

但是,我注意到如果你编辑文档并从_attachment字段中删除附件存根,它将不再可访问。

如果我从下面的文档中删除foo.txt并保存到CouchDb,那么下次访问该文档时它将会消失:

{  
  "_id":"attachment_doc",  
  "_rev":1589456116,  
  "_attachments":  
  {  
    "foo.txt": 
    {  
        "stub":true,  
        "content_type":"text/plain",  
        "length":29  
    }  
  }  
}

附件是否在磁盘上实际删除了,或者只是删除了对它的引用?

1 个答案:

答案 0 :(得分:13)

这两种方法完全相同。

无论您DELETE附件网址,还是从文档中移除其存根,数据都会使用内部MVCC系统标记为已删除。您可能会说删除它的引用。

但是,当您运行压缩时,附件将在磁盘上删除。