2016-08-02 104 views

回答

2

如果您使用Couchbase 4.x,那麼除了Simon在回答中建議的內容之外,您還可以使用N1QL通過簡單的查詢刪除文檔。

首先,如果你以前沒有使用過N1QL,請確保您通過運行下面的查詢一次對桶的主要指標:

CREATE PRIMARY INDEX ON <bucket> USING GSI; 

您可以使用命令行查詢工具(位於在/opt/couchbase/bin/cbq中),或者如果使用Couchbase 4.5+,則在UI中使用查詢工作臺。

然後,由一個ID前綴刪除所有文件,請使用以下命令:

DELETE FROM <bucket> WHERE meta().id LIKE '<prefix>%'; 

同樣,你可以使用命令行工具,查詢工作臺,或做編程,這將看類似於C#中的以下內容:

var result = await bucket.QueryAsync("<query>"); 
1

在C#中,範圍表示爲StartKeyEndKey

在服務器側首先必須創建的視圖併發布到生產:

function(doc, meta) { 
    emit(meta.id, null); 
} 

然後在客戶端使用ViewQuery對象與StartKeyEndKey

var prefix = "pre_"; //this should be a parameter of your method 
var query = ViewQuery.From("designDocumentName", "viewName"); 
query.StartKey(prefix); 
query.EndKey(prefix + "\u0000"); 

然後使用BucketQuery(ViewQuery)方法執行查詢。

相關問題