如何使用java从couchbase执行批量选择和更新文档?

问题描述 投票:1回答:1

你能告诉我什么是使用java从couchbase批量获取和upsert文件的最佳方法吗?我可以使用N1QL吗?请指教?

couchbase
1个回答
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();
}
© www.soinside.com 2019 - 2024. All rights reserved.