c# - 如何使用 .NET 客户端以编程方式删除托管在 couchbase 中的数据库存储桶中的所有数据

标签 c# .net couchbase nosql

我正在尝试使用 .NET 客户端刷新存储桶中的所有数据。 这是我正在使用的代码:

        _instance = new CouchbaseClient();
        _instance.FlushAll();

但是抛出如下异常信息 “要刷新 Couchbase 存储桶,请使用 Couchbase.Management API。”

我还启用了“刷新”启用设置。

最佳答案

下面的代码在我对空载的桶的快速测试中成功运行。它使用集群管理器而不是客户端来执行刷新。请进一步测试。文档引用是 http://docs.couchbase.com/couchbase-sdk-net-1.3/#cluster-management-with-the-net-client-library .

var config = (CouchbaseClientSection)ConfigurationManager.GetSection("couchbase");
var cluster = new CouchbaseCluster(config);
cluster.FlushBucket("MyBucket");

我遇到了几件事情,我将与您分享这些事情,以避免您遇到同样的痛苦。首先,必须引用System.Configuration 才能使用ConfigurationManager。仅仅将 using 语句放在我的代码中是不够的。我必须按照 System.Configuration.ConfigurationManager not available? 中的描述手动添加它.

其次,使用集群管理器需要凭据。因此,我不得不将它们放入 app.config 文件中。示例如下。

<couchbase>
  <servers bucket="MyBucket" bucketPassword="password" username="Administrator" password="password">
    <add uri="http://localhost:8091/pools"/>
  </servers>
</couchbase>

关于c# - 如何使用 .NET 客户端以编程方式删除托管在 couchbase 中的数据库存储桶中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282963/

相关文章:

c# - 在应用程序之外缓存数据

c# - 更改 WPF ListView 中的小数点分隔符(绑定(bind)、字符串格式)

.net - 通过网络在客户端上播放 MIDI?

.net - DataGridView 排序和例如.NET 中的 BindingList<T>

c# - 如何从 .NET 类中以编程方式访问服务器级 IIS 连接设置?

java - 使用 Java 中的 N1QL 查询通过 where 子句从 Couchbase 过滤记录

c# - 如何捕捉扩展器标题点击事件

c# - 防止 Winforms Designer 为继承的控件生成属性值

android - 在 couchbase lite View 中查询多个键

linux - Docker 容器中的 Couchbase XDCR