1

我有一个数据库,我需要定期删除文档。它将在每批 100k 个文档的范围内。

到今天为止,这是通过首先向视图发出请求来实现的,该视图返回要删除的文档的 _id:s 和 _rev:s 列表。

然后,我对这些文档中的每一个都向 hostname/database/_id?=_rev 发出 http DELETE 请求。

对我来说,这似乎效率低得离谱,因为我必须对这 100k 文档中的每一个进行 http 请求。

有没有更有效的方法来删除沙发上的大量文件?我一直在寻找类似于 POST 的命令来创建新文档,您可以在其中发送 http 正文中的数据。或者在 mapreduce 中执行此操作的方式。但到目前为止还没有运气。

4

1 回答 1

3

您可以将所有删除操作捆绑到一个bulk_docs update中。

对于 100k 的文档,您会注意到该操作需要一点时间,但比单独的 DELETE 更新要快得多。

于 2013-10-29T18:22:53.013 回答