[英]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.