【发布时间】:2016-09-14 10:14:52
【问题描述】:
我正在使用 couchDB 存储一些数据,但在删除 n 天前插入的文档时遇到问题。
所以,我想通过视图加载我想要删除的文档,并立即对所有这些文档执行 DELETE 请求;但失败了。
示例文档:
{
"date":"20160912",
"_id":"1xxxxx",
"name":"namal"
}
查看功能:
function (doc) {
if(doc.date){
emit(doc.date,doc);
}
}
加载文档的 URL:
http://localhost:5984/dbx/_design/viewx/_view/date?key=%2220160910%22
删除请求:
curl -X DELETE http://localhost:5984/dbx/_design/viewx/_view/date?key=%2220160910%22
我知道我可以使用 _id 和 _rev 对每个文档执行此操作,如下所示。
curl -X DELETE http://localhost:5984/dbx/1xxxxx?rev="1-1111x1111111x222222x333333"
但在这种情况下,我需要一一删除生成的文档。我想要的是,一次删除一个文档列表(bluk docs)(正如我所提到的,实际的要求是删除在 n 天之前插入的文档)。
此外,我知道清除过期数据的更好方法是使用 CouchBase 或 MongoDb 设置过期时间。但我正在 CouchDB 实现本身中寻找解决方案。
注意:在这种情况下,我想让它们真正删除。不是隐形的。
- 语言:Java 1.7
- 操作系统:Ubuntu 14.04 64 位
- CouchDB 版本:1.6.1
【问题讨论】: