1
我寫下面提到的方法來獲取批量從couchbase服務器的數據。如何使用RxJava和couchbase排序?
bucket.async()
.query(N1qlQuery.simple(query))
.doOnNext(res -> res.info().map(N1qlMetrics::elapsedTime).forEach(t -> System.out.println(t)))
.flatMap(AsyncN1qlQueryResult::rows)
.flatMap(row ->
bucket.async().
get(row.value().getString("id")))
.map(JsonDocument::content).
toList()
.toBlocking()
.single();
此代碼工作正常,當我通過查詢
"SELECT meta().id as id FROM bucket"
但是當我使用類似
"SELECT meta().id as id FROM bucket order by id ASC"
結果我收到不排序。但是,當我在查詢控制檯上運行相同的查詢控制檯結果是預期的。這讓我相信我在rxJava中做錯了什麼。請幫我解決這個問題。
我同意這一點,concatMapEager是去我的思維方式。我們已經做到這一點的看法與「包括文檔」,看到https://github.com/couchbase/couchbase-java-client/blob/master/src/main/java/com/couchbase/client/java/view/ViewQueryResponseMapper .java#L220如果你對細節感興趣。 – daschl