在couchrest中销毁和删除doc之间的区别

时间:2013-10-04 14:03:50

标签: ruby couchdb couchrest

我一直在尝试删除couchdb中的文档(使用ruby couchrest)来恢复磁盘空间。我意识到deleting文档可能不会释放空间。然后我使用了Document :: destroy(听起来它会起作用)。在压缩视图后,它似乎释放得比应有的多得多。

你能解释什么破坏吗?你知道为什么我恢复了这么多空间吗?

1 个答案:

答案 0 :(得分:1)

查看源代码,两个方法似乎或多或少相同(甚至破坏调用delete_doc())。唯一的区别似乎是destroy()还从本地对象中删除了_id_rev字段,这在服务器端没有任何区别。

但是,似乎两种方法都进行某种批处理(传递bulk = true时)。因此,您对delete_doc()的调用以及随后对destroy()的调用的调用可能会超出限制并在服务器上执行批量删除。