查看查询返回计数但不返回行

时间:2014-04-15 09:47:05

标签: couchbase

我已经编写了一个视图来返回来自couchbase的所有文档,但每次返回null,但是当我var viewCount = view.Count();返回正确的数字时。为什么会这样?

这是我的代码:

var view = clientConnection.GetView("GetDocuments", "GetAllDocuments");

if(view.CheckExists())
{
     //Returns corrent amount of documents
     var viewCount = view.Count();
     Console.WriteLine(viewCount);
}

//Returns 0 rows
return view;

以下是来自Web GUI的视图,以确保我将正确的名称传递给GetView方法:

enter image description here

修改

在阅读评论中提到的文章后,我发现了这个:

  

GetView的返回类型是一个可枚举的IView,其中每个枚举值都是一个IViewRow。在您对视图进行枚举之前,不会运行实际的视图查询。

这一切都很好但是仍然会引发空引用异常

2 个答案:

答案 0 :(得分:2)

根据您使用的.NET客户端版本,这可能是一个错误。这是坏消息。这个好消息已被修复,但尚未发布(

这将于5月的第一周发布(版本1.3.5)。该错误是在1.3.3版本中引入的。

答案 1 :(得分:0)

我假设你在这里使用C#,如果没有,那么它早了,我很困!

您需要遍历结果,因此要打印出所有ID或将它们添加到数组等,您必须执行此操作:

foreach (var doc in view)
{
    Console.WriteLine(doc.id);
    //Add id to array or other processing
}

您可以在http://docs.couchbase.com/couchbase-sdk-net-1.3/#working-with-views

中查看c#的查看文档