繁体   English   中英

Couchbase视图为空

[英]Couchbase View is empty

如果尝试通过Java SDK的视图从Couchbase服务器检索文档列表,则会得到一个空结果列表:

ViewResult result = dataManager.getBucket().query(ViewQuery.from("_design/dev_task", "byID"));
List<ViewRow> rows = result.allRows(); // rows is empty

但是,在Web控制台中,同一视图具有非空的过滤结果列表。 另一方面,通过文档ID进行的检索可以完美地进行:

JsonDocument taskDocument = dataManager.getBucket().get("task1", JsonDocument.class);
// taskDocument contains the document for task1

该查询被定义为:

function (doc, meta) {
  if (typeof(doc.taskID) == "number") {
    emit(doc.taskID, doc);
  }
}

并具有以下名称:

在此处输入图片说明

我可能做错了什么?

您发表了观点吗? 我猜想该SDK在生产模式下运行,因此文档检索将在文档存在的情况下进行,但对于视图,将不会在开发视图中显示,如您的屏幕快照所示。

好的,我在阅读此博客条目后终于找到了解决方案。 问题是的第一个参数.from法: _design/dev_必须避免前缀。 所以不要打电话

ViewQuery.from("_design/dev_task", "byID")

我必须用

ViewQuery.from("task", "byID")

这给我留下了一个非空的行数组!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM