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

Couchbase 如何使用java从cocuhbase执行批选择和更新文档?,couchbase,Couchbase,请告诉我使用java从cocuhbase批量获取和上传文档的最佳方法是什么?我可以使用N1QL吗?请建议?您可以将批处理与RXJava一起使用 public List<JsonDocument> bulkGet(final Collection<String> ids) { return Observable .from(ids) .flatMap(new Func1<String, Observable<JsonDocument>>

请告诉我使用java从cocuhbase批量获取和上传文档的最佳方法是什么?我可以使用N1QL吗?请建议?

您可以将批处理与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();
}
public List bulkGet(最终集合ID){
可观测回波
.from(ids)
.flatMap(新函数1(){
@凌驾
公共可观察调用(字符串id){
返回bucket.async().get(id);
}
})
托利斯先生()
.toBlocking()
.single();
}
公共作废更新文档(收款文档){
可观察的.from(documents).flatMap(新的Func1(){
@凌驾
公共可观察调用(最终JsonDocument docToInsert){
返回bucket.async().upsert(docToInsert);
}
}).last().toBlocking().single();
}