Удаление вложений документов в CouchDb

В документации CouchDb описанный метод удаления вложений документа - отправить вызов DELETE на URL-адрес приложения.

Однако я заметил, что если вы отредактируете документ и удалите заглушку вложения из поля _attachment, он больше не будет доступен.

Если я удалю файл foo.txt из приведенного ниже документа и сохраню его в CouchDb, он исчезнет при следующем доступе к документу:

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

Действительно ли вложение удалено на диске или просто ссылка на него удалена?

Ответ 1

Оба метода идентичны.

Если вы используете DELETE URL-адрес вложений или удалите его заглушку из документа, данные помечены как удаленные, используя внутреннюю систему MVCC. Вы можете сказать, что ссылка на него удалена.

Однако при запуске уплотнения вложение будет удалено на диске.