, riak

2014-05-17 4 views
0

내가 riak - 얼랑 클라이언트 일하고에서 맵리 듀스에 정수로, riak

를 이진 데이터를 얻기 위해 내가했던 방법은 다음과 같은 ...이 문제를 해결하는 방법

3> Mapf = fun(Obj,_,_) -> [riak_object:get_value(Obj)] end. 
#Fun<erl_eval.18.82930912> 
4> 
4> {ok, [{0,[R]}]} = riakc_pb_socket:mapred(Pid,<<"tst">>, [{map{qfun,Mapf},none,true}]).  
** exception error: no match of right hand side value {ok,[{0,[<<"2">>,<<"4">>,<<"6">>,<<"3">>,<<"5">>,<<"1">>]}]} 

내가 나이도했다 단지 나이를 얻으려면 문제

{ok, [{0,[S]}]} = riakc_pb_socket:mapred(Pid,<<"test">>,[{map, {qfun,Maps},none,true}]). 
** exception error: no match of right hand side value {ok,[{0, 
                 [<<"{\"age\": 24, \"name\": \"krishna\"}">>, 
                 <<"{\"age\": 29, \"name\": \"sharat\"}">>, 
                 <<"{\"age\": 27, \"name\": \"anil\"}">>, 
                 <<"{\"age\": 28, \"name\": \"kumar\"}">>, 
                 <<"{\"age\": 24, \"name\": \"gopi\"}">>, 
                 <<"{\"age\": 25, \"name\": \"ramesh\"}">>]}]} 

이런 종류의를 해결하는 방법

도. 어떻게지도 함수를 작성합니다.

답변

0

패턴 일치 문제이 있습니다. [R] = [<<data…>>,…]을 사용하여 목록과 일치하도록 두 번 시도합니다.

[R]은 실제로 1- 요소 목록과 일치하며 요소는 R입니다.
다음과 같이 전체 데이터 구조와 일치 시키려면 해당 대괄호를 제거해야합니다 : {ok, [{0,R}].