我浏览了所有可用于 ektrop 库的博客以及该库的源代码。我发现get(class obj,String id)函数可用,但如果我使用此函数,则只会返回一个文档到给定的ID。所以我想阅读存储桶中所有已更改的文档。我怎样才能实现这一点。提前感谢任何帮助。
问问题
630 次
2 回答
3
您可能正在寻找 _all_docs 端点。
ViewQuery q = new ViewQuery().allDocs().includeDocs(true);
List<Sofa> bulkLoaded = db.queryView(q, Sofa.class);
您可以在api中找到更详细的信息
于 2017-07-13T00:09:30.903 回答
0
大家好,我已经得到了我上面提出的问题的答案。这是您可以获取所有文档的步骤,或者只是使用 _changes API 的结果。
- 将 Ektorp 库集成到您的项目中。
使用以下代码获取所有文档。
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()); }
于 2017-07-12T13:29:10.520 回答