2012-03-12 144 views
9

有什麼辦法可以從CouchDB數據庫中刪除所有數據?如何刪除CouchDB中的數據庫中的所有記錄?

我在做什麼目前正在下降,並重新創建整個數據庫

curl -X DELETE http://localhost:5984/foobar 
curl -X PUT http://localhost:5984/foobar 

,但我不知道這是否是做到這一點的最好辦法。

回答

4

沒有辦法來丟棄數據除了刪除每個文檔(或在_bulk更新一束已知DOC-ID的與_rev=xxx and "_deleted:true"

刪除並重新創建是確定。

8

我發現了這個書籤,它爲您添加了功能到蒲團視圖。它增加了你全選,刪除所有按鈕和刪除複選框刪除列。這可能是一個好的開始,但你可能想修改它一下,因爲它似乎並不一直工作。

http://www.elijahmanor.com/couch-potato-bookmarklet-lazy-features-for-couchdbs-futon/

+0

好的,謝謝! – zanona 2013-11-06 13:29:20

+1

網址已更改爲http://www.elijahmanor.com/couch-potato-bookmarklet-lazy-features-for-couchdbs-futon/ – Sparky 2014-09-16 05:12:47

4

的代碼使用Node.js的下面刪除所有數據庫(不是所有的記錄!)您需要安裝nano,之後執行下面的代碼:

var nano = require('nano')('http://localhost:5984'); 

nano.db.list(function(err, body) { 
    body.forEach(function(db) { 
    nano.db.destroy(db); 
    }); 
}); 
0

我做了一個命令行工具做除了通過蒲團給出的那些我的CouchDB服務器上的一些操作。它支持現在刪除,備份和恢復文檔。

你可以找到它here.

0

您可以使用此袋分貝插件。它所做的是刪除你的軟件包數據庫中的所有文件。它可以用於服務器端和客戶端的JavaScript應用程序。 這裏是鏈接:Pouch Db Erase Plugin

1

這裏是一個Python腳本來完成這項工作:

import couchdb 
couch = couchdb.Server('http://localhost:5984/') 
couchdb = 'DATABASE' 
db = couch[couchdb] 
for id in db: 
    db.delete(db[id]) 
相關問題