我正在创建一个应用程序,它在存储桶中存储大约1M个文档。存储后,我无法检索所有这些内容。我创建了一个视图,并将其添加为生产视图。当我运行我的应用程序时,我始终只能检索1578个文档。 ViewRow的大小也是一样的。我不想使用N1QL。
这是用于检索所有文档的函数。
public Iterable findAllUsers() {
ViewQuery query = ViewQuery.from("dev_LCDD", "findAllUsers");
ViewResult result = theBucket.query(query);
return result;
}
下面给出的函数打印了findAllUsers()函数返回的结果大小,我无法获取所有文档。
public List findUserInformation() {
Iterable result = theDao.findAllUsers();
Gson gson = new GsonBuilder().create();
ArrayList customers = new ArrayList();
for (ViewRow row : result) {
Customer cust = gson.fromJson(row.document().content().toString(), Customer.class);
if(!docId.isEmpty())
customers.add(cust);
}
System.out.println("List size: "+ customers.size());
return customers;
}
有人可以帮我检索所有文件吗?
编辑:我也不确定我的Java API是否仍然只访问开发视图。这是因为只有在开发视图中存在生产视图的副本时,我的应用程序才会运行而不会发出任何警告。我现在从开发视图中删除了副本,我的视图仅存在于生产视图中。我收到以下警告,“com.couchbase.client.core.endpoint.ResponseStatusConverter fromHttp 警告:具有协议HTTP的未知ResponseStatus:500“。
答案 0 :(得分:2)
'dev_'前缀用于开发设计文档。如果要使用已发布的视图,则需要将其删除。所以你的代码应该是
public Iterable findAllUsers() {
ViewQuery query = ViewQuery.from("LCDD", "findAllUsers");
ViewResult result = theBucket.query(query);
return result;
}