-1

这是我的示例代码,它JsonDocument从 couchbase 服务器返回列表。

Cluster cluster = CouchbaseCluster.create();
Bucket bucket = cluster.openBucket();

List<JsonDocument> foundDocs = Observable
    .just("key1", "key2", "key3", "key4", "key5")
    .flatMap(new Func1<String, Observable<JsonDocument>>() {
        @Override
        public Observable<JsonDocument> call(String id) {
            return bucket.async().get(id);
        }
    })
    .toList()
    .toBlocking()
    .single();

我想返回Map而不是返回。我的List返回类型是Map<String, JsonDocument>。我尝试了toMap方法,但它对我不起作用。

4

1 回答 1

0

您在评论中正确提到toMap需要 aFunction作为其论点。这Function将用于“提取”(或“构造”)每个值将在其下输入到映射中的键。

因此,在您的情况下,您将需要Function<JsonDocument, String>aJsonDocument作为其输入并以某种方式返回 a String,您稍后将使用它JsonDocumentMap. 那String将是什么只有您可以回答-也许里面有一些ID JsonDocument

于 2017-03-23T07:51:19.470 回答