我需要每次在单元测试运行之前清除Couchbase存储桶。我使用Java SDK> 2.0版。在以前的版本中,我发现了这个很棒的方法http://www.couchbase.com/autodocs/couchbase-java-client-1.1.1/com/couchbase/client/ClusterManager.html#flushBucket(java.lang.String),但它在新版本中并不存在。
有没有办法清除存储桶中的数据?我可以通过获取文档的所有键然后删除它们来删除,但我想使用更漂亮的方式。
答案 0 :(得分:6)
实际上在2.x SDK中,您可以从BucketManager
实例中获取Bucket
,这样您就可以像以前一样精彩地调用flush()
;)
答案 1 :(得分:1)
请注意,在社区v4.0中刷新并使用N1QL查询可能会有风险。我的集成测试失败了,因为有些文档在几十次运行后(甚至在30分钟后)没有被索引。删除文档更安全。
答案 2 :(得分:0)
您可以使用REST API删除存储桶: http://docs.couchbase.com/admin/admin/REST/rest-bucket-intro.html
答案 3 :(得分:0)