你能告诉我什么是使用java从couchbase批量获取和upsert文件的最佳方法吗?我可以使用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();
}