如何使用Java从cocuhbase执行批选择和更新文档?

时间:2019-04-23 17:29:26

标签: couchbase

能否让我知道使用Java从cocuhbase批量获取和追加文档的最佳方法是什么?我可以使用N1QL吗?请提出建议?

1 个答案:

答案 0 :(得分:2)

您可以通过RXJava使用批处理

public List<JsonDocument> bulkGet(final Collection<String> ids) {
return Observable
    .from(ids)
    .flatMap(new Func1<String, Observable<JsonDocument>>() {
        @Override
        public Observable<JsonDocument> call(String id) {
            return bucket.async().get(id);
        }
    })
    .toList()
    .toBlocking()
    .single();
}



public void updateDocuments(Collection<JsonDocument> documents) {
    Observable.from(documents).flatMap(new Func1<JsonDocument, Observable<JsonDocument>>() {
        @Override
        public Observable<JsonDocument> call(final JsonDocument docToInsert) {
            return bucket.async().upsert(docToInsert);
        }
    }).last().toBlocking().single();
}