删除CouchDb中的文档附件

hen*_*ren 12 couchdb

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

但是,我注意到如果您编辑文档并从_attachment字段中删除附件存根,则将无法再访问它.

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

{  
  "_id":"attachment_doc",  
  "_rev":1589456116,  
  "_attachments":  
  {  
    "foo.txt": 
    {  
        "stub":true,  
        "content_type":"text/plain",  
        "length":29  
    }  
  }  
}
Run Code Online (Sandbox Code Playgroud)

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

Jas*_*ith 13

这两种方法是相同的.

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

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