我有两个 riak 存储桶,“client_user”包含 compose_key 作为密钥,如 clientid-userid 和另一个存储桶“account_user”,其中包含 userid 作为密钥和用户信息。我正在尝试进行一个 mapreduce 查询以找出一个客户端上的所有用户信息。我在互联网上搜索,我找不到任何答案。任何人都可以帮助我对 riak 进行 javascript mapreduce 查询吗?真的很感激。
问问题
107 次
1 回答
0
如果键是一个复合键,例如 clientId_userId,则无法单独查询它以查找与该客户端关联的用户。您可以列出所有键;编写一个javascript map阶段,根据分隔符拆分key;根据客户端 ID将此操作的结果提供给SetMemberFilter ;对 account_user 存储桶使用另一个 map reduce 操作SetMemberFilter
。
您的数据没有为 Riak 正确建模。如果用户信息只包含客户端 ID 的二级索引,这将是对该存储桶的简单调用。恐怕没有简单的答案。您仍然可以使用我在答案中概述的一系列步骤来检索信息,但这会效率低下。没有其他办法。
于 2013-03-20T04:30:54.013 回答