我已经编写了一个视图来返回来自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方法:
修改
在阅读评论中提到的文章后,我发现了这个:
GetView的返回类型是一个可枚举的IView,其中每个枚举值都是一个IViewRow。在您对视图进行枚举之前,不会运行实际的视图查询。
这一切都很好但是仍然会引发空引用异常
答案 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#的查看文档