我已经浏览了所有可用于ektrop库的博客以及库的源代码。我发现 get(class obj,String id)函数可用但是如果我使用这个函数只会根据给定的id返回一个文档。所以我想读取存储桶中存在的所有已更改的文档。如何实现这一点。谢谢提前任何帮助都会有所体现
答案 0 :(得分:3)
您可能正在寻找_all_docs端点。
ViewQuery q = new ViewQuery().allDocs().includeDocs(true);
List<Sofa> bulkLoaded = db.queryView(q, Sofa.class);
您可以在api
中找到更多详细信息答案 1 :(得分:0)
大家好,我已经得到了上面提到的问题的答案。这是您可以获取所有文件的步骤,或者只是使用_changes API的结果。
使用以下代码获取所有文档。
HttpClient httpClient = new StdHttpClient.Builder()
.url("http://localhost:5984/")
.build();
CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);
CouchDbConnector db = new StdCouchDbConnector("my_database", dbInstance);
ChangesCommand.Builder builder = new ChangesCommand.Builder();
ChangesCommand changesCommand =builder.build() ;
List<DocumentChange> documentChangeList=db.changes(changesCommand);
for(int i=0;i<documentChangeList.size()-1;i++) {
System.out.println(documentChangeList.get(i).getId());
}