在沙发DB中高效批量删除文档

时间:2013-10-29 16:23:48

标签: mapreduce nosql couchdb couchapp

我有一个数据库,我需要定期删除文件。这将是每批100k文件的大球场。

截至今天,首先向视图发出请求,该视图返回要删除的文档的_id:s和_rev:s列表。

然后,我为每个文档对主机名/数据库/ _id?= _ rev执行http DELETE请求。

对我来说,这似乎是非常低效的,因为我必须为这些100k文件中的每一个做一个http请求。

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

1 个答案:

答案 0 :(得分:3)

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

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