如何使用ektrop库在couchDB中查找所有文档

时间:2017-07-12 05:43:49

标签: couchdb ektorp

我已经浏览了所有可用于ektrop库的博客以及库的源代码。我发现 get(class obj,String id)函数可用但是如果我使用这个函数只会根据给定的id返回一个文档。所以我想读取存储桶中存在的所有已更改的文档。如何实现这一点。谢谢提前任何帮助都会有所体现

2 个答案:

答案 0 :(得分:3)

您可能正在寻找_all_docs端点。

ViewQuery q = new ViewQuery().allDocs().includeDocs(true);

List<Sofa> bulkLoaded = db.queryView(q, Sofa.class);

您可以在api

中找到更多详细信息

答案 1 :(得分:0)

大家好,我已经得到了上面提到的问题的答案。这是您可以获取所有文件的步骤,或者只是使用_changes API的结果。

  1. 将Ektorp库集成到您的项目中。
  2. 使用以下代码获取所有文档。

                 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());
        }
    
相关问题