【发布时间】:2016-01-11 00:38:47
【问题描述】:
我正在使用官方的 Riak Java 客户端 v2.0.2。当我更新之前写入的值(使用 2i 个索引)时,二级索引不会保留。
这就是我更新的方式:
Location location = new Location(this.namespace, key);
UpdateValue updateOp = new UpdateValue.Builder(location)
.withFetchOption(FetchValue.Option.DELETED_VCLOCK, true)
.withUpdate(new RiakKVUpdateValue(values))
.build();
这是我的更新课程:
public class RiakKVUpdateValue extends Update<Map<String, String>> {
private final Map<String, String> value;
public RiakKVUpdateValue(HashMap<String, ByteIterator> values) {
this.value = StringByteIterator.getStringMap(values);
}
@Override
public Map<String, String> apply(Map<String, String> original) {
return this.value;
}
}
我在文档中没有找到任何关于使用 2i 索引更新对象的内容。
- 我做错了吗?
- 我应该手动读取/修改/写入吗?
【问题讨论】: