我正在使用CloudantClient 2.11。我用复杂的密钥创建了一个视图。 我正在尝试使用客户端API查询视图。我可以看到每一行结果都有键和返回的值,但row.getKey()返回null。
my database view and documents
我的代码如下:
ViewResponse<ComplexKey, Integer> response = database.getViewRequestBuilder("view", "viewName").newRequest(Key.Type.COMPLEX, Integer.class).reduce(true)
.group(true).build().getResponse();
List<Row<ComplexKey, Integer>> rows = response.getRows();
for (Row<ComplexKey, Integer> row : rows) {
ComplexKey key = row.getKey();
Integer value = row.getValue();
}
问题是row.getKey()是所有方式为null虽然我可以看到它具有键值。
感谢您的帮助
阿西。
答案 0 :(得分:2)
Cloudant Java客户端仅支持数组值复杂密钥。看起来好像您正在使用调试器屏幕截图中的对象值键。
这在文档中有说明,但不可能是非常明显的:
在代码本身中,您可以看到它是如何实现的:
您获得的null
来自此处: