在Riak中一次删除2i的束记录

时间:2013-12-19 06:29:35

标签: mapreduce riak

我在这里找到了一个引用:https://stackoverflow.com/a/13001495/1539017

  

执行2i查询以获取用户的消息密钥列表,并将其输入   列表到Map / Reduce作业以删除对象。

真的可能吗?有任何例子吗?

1 个答案:

答案 0 :(得分:0)

我假设每条消息都有一个键和一个值。如果是这样,您不需要Map / Reduce作业,只需循环遍历2i的密钥集合输出并在其上调用delete。

Ruby示例代码如下:

client = Riak::Client.new(nodes)
bucket = client.bucket("messages")

message_keys = bucket.get_index("user_id_bin", user_id)
message_keys.each {|key| bucket.delete(key)}

请记住,与任何Riak一样,删除最终会传播。