能否让我知道使用Java从cocuhbase批量获取和追加文档的最佳方法是什么?我可以使用N1QL吗?请提出建议?
答案 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();
}