我刚刚安装了 CouchBase 1.8 并正在使用 .NET 客户端与之交互。我想知道是否有任何方法可以获取存储在存储桶中的所有键(和值)。即使它不是一个 .NET 解决方案,只要它可以工作就可以了。
谢谢五
我建议使用 Couchbase Server 2.0 Beta - http://www.couchbase.com/couchbase-server/beta。使用该版本,您将能够使用视图来获取存储桶中的所有文档。
function (doc, meta)
{
emit(meta.id, null);
}
然后使用 .NET 1.2 Beta 客户端,您将能够迭代所有文档(或使用 Web 控制台查看视图的结果)。
编辑以包含 .NET 示例:
使用上面的 JavaScript Map 函数创建视图后,您将按如下方式使用 .NET 客户端(假设您创建了一个名为“utils”的设计文档和一个名为“all_keys”的视图:
var view = client.GetView("utils", "all_keys");
foreach(var row in view)
{
Console.WriteLine("Current ID: " + row.ItemId);
}
或者:
var keys = view.Select(row => row.ItemId); //get an IEnumerable<string> of IDs
foreach(var key in keys)
{
Console.WriteLine("Current ID: " + key);
}
有关 .NET 客户端和视图的更多信息,请访问http://blog.couchbase.com/strongly-typed-views-net-client-library。
--jz