2つのriakバケットがあります。clientid-useridのようなキーとしてcompose_keyを含む"client_user"と、キーおよびユーザー情報としてuseridを含む別のバケット"account_user"です。1つのmapreduceクエリを作成して、1つのクライアントのすべてのユーザー情報ベースを見つけようとしています。インターネットで検索しましたが、答えが見つかりません。誰でもriakでのjavascriptmapreduceクエリを手伝ってくれますか?心から感謝する。
質問する
107 次
1 に答える
0
キーがclientId_userIdなどの複合である場合、そのクライアントに関連付けられているユーザーを見つけるためにキーを個別に照会する方法はありません。すべてのキーを一覧表示できます。区切り文字に基づいてキーを分割するJavaScriptマップフェーズを記述します。この操作の結果をクライアントIDに基づいてSetMemberFilterにフィードします。これを使用して、account_userバケットで別のマップリデュース操作を使用しますSetMemberFilter
。
Riakのデータが正しくモデル化されていません。ユーザー情報にクライアントIDのセカンダリインデックスが含まれている場合、これはそのバケットへの単純な呼び出しでした。簡単な答えはないのではないかと思います。回答で概説した一連の手順を使用して情報を取得することはできますが、非効率的です。他に方法はありません。
于 2013-03-20T04:30:54.013 に答える