我想刪除帶有前綴的所有文檔。例如,所有documentIds以name開頭的文檔都可以說爲Identifier1
。我發現this文章,這使用NodeJS。我無法將此代碼轉換爲等效的C#代碼。如何在Couchbase中提取帶有前綴的所有密鑰
2
A
回答
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#中,範圍表示爲StartKey
和EndKey
。
在服務器側首先必須創建的視圖併發布到生產:
function(doc, meta) {
emit(meta.id, null);
}
然後在客戶端使用ViewQuery
對象與StartKey
和EndKey
:
var prefix = "pre_"; //this should be a parameter of your method
var query = ViewQuery.From("designDocumentName", "viewName");
query.StartKey(prefix);
query.EndKey(prefix + "\u0000");
然後使用Bucket
的Query(ViewQuery)
方法執行查詢。
相關問題
- 1. 存儲帶有在redis中過期的前綴的密鑰
- 2. Redis /從redis獲取所有密鑰和值,前綴爲
- 3. 帶有前綴
- 4. 我們如何從JSON文檔中檢索所有密鑰及其前綴
- 5. 無法在Logstash中刪除帶有前綴的所有字段
- 6. 在Hive中添加帶有前綴的所有列名稱
- 7. 如何在sql中顯示帶有後綴/前綴的數據?
- 8. 如何在PHP中只提取帶有字符串前綴的元素?
- 9. 如何SVN提交具有相同前綴的所有文件
- 10. 避免字典中帶有後綴的相同密鑰錯誤
- 11. 如何獲得列表中所有密鑰的密鑰列表?
- 12. CouchBase使用.NET客戶端獲取數據庫中的所有密鑰和值
- 13. 獲取帶xml前綴的所有名稱空間
- 14. 如何從列表中提取沙發數據庫中的所有密鑰
- 15. 如何在redis中實現密鑰的前綴匹配?
- 16. 獲取所有redis數據庫中的所有密鑰和值?
- 17. 帶前綴匹配模式的redis掃描是否掃描數據庫中的所有密鑰?
- 18. 獲取特定密鑰的所有值
- 19. 獲取play.api.libs.json.JsValue的所有密鑰
- 20. 從字典列表中提取所有密鑰
- 21. 如何獲取ResourceManager中的所有密鑰
- 22. 如何使用php redis獲取redis中的所有密鑰?
- 23. 如何獲取命名空間中的所有密鑰?
- 24. Couchbase密鑰複製
- 25. 如何用XCGLogger前綴所有日誌
- 26. 更新密鑰在couchbase中的時間
- 27. 如何獲取PyWin32中提供密鑰的密鑰名稱?
- 28. 如何獲取帶前綴的數字?
- 29. lodash的mapValues所有密鑰
- 30. 找到所有前綴有特定瓶的前綴