couchbase - 如何使用 java 从 cocuhbase 执行批量选择和更新文档?
问题描述
您能否让我知道使用 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();
}
推荐阅读
- python-2.7 - 使用python将句子列表与另一个列表匹配
- javascript - Java 8 lambda(来自 javascript 示例)
- matlab - 特定条件下系统ODE的慢时间积分
- python - 支持向量机是否将向量作为特征?
- ios - iOS 自定义应用程序 Salesforce - 尝试在 4G 上连接到 Salesforce 时出现 SSL 错误
- javascript - 如何在 react .js 文件中导入带有脚本的 html 文件?
- ruby - 有没有更有效的方法来重构 ruby 上的哈希迭代?
- python-3.x - Amazon DynamoDB [DDB] 并行扫描 - boto 3 - python
- reactjs - 在 Markdown Gatsby 中创建缩略图
- php - 在 td 中显示类别名称