我正在使用couchDB來存儲一些數據,並且在刪除在n天之前插入的文檔時遇到問題。在CouchDB中刪除過期的文檔
因此,我希望加載我想通過視圖刪除的文檔,並一次對它們全部執行DELETE請求;但失敗了。
樣本文檔:
{
"date":"20160912",
"_id":"1xxxxx",
"name":"namal"
}
View功能:
function (doc) {
if(doc.date){
emit(doc.date,doc);
}
}
URL加載文件:
http://localhost:5984/dbx/_design/viewx/_view/date?key=%2220160910%22
DELETE請求:
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文檔)(正如我所提到的,實際需要刪除在n天之前插入的文檔)。
此外,我知道更好的方法是通過使用CouchBase或MongoDb設置到期時間來清除過期數據。但我正在尋找CouchDB實現本身的解決方案。
注:在這種情況下,我想讓他們真的刪除。不可見。
- 語言:Java的1.7
- 操作系統:Ubuntu的14.04 64位
- CouchDB的版本:1.6.1
謝謝你的回答。但它不會刪除文件?它使它看不見。那麼,作爲刪除怎麼樣呢?我想讓它實際上被刪除,正如我在問題中提到的那樣。 – namalfernandolk
這是CouchDB行話中的'刪除'。您是否在尋找能夠刪除文檔的所有痕跡和歷史記錄的內容?你想要這樣的「永久刪除」來同步嗎? – Kul
是的。我想永久刪除它們並釋放空間 – namalfernandolk