我尝试在我的视图中发出postal_country
,我不知道如何在erlang中完成此操作。
这是我的文件的结构:
{
...
"postal_address": {
"postal_country": "BE"
...
}
}
这是我要翻译的js:
function(doc) {
if (doc['ruby_class'] == 'Company' && doc['postal_address']['postal_country']) {
emit(doc['postal_address']['postal_country'], 1)
}
}
这是我在erlang中尝试过的:
fun({Doc}) ->
case proplists:get_value(<<"ruby_class">>, Doc) of
<<"Company">> ->
Addr = proplists:get_value(<<"postal_address">>, Doc, null),
Key = proplists:get_value(<<"postal_country">>, Addr, null),
Emit(Key, 1);
_ ->
ok
end
end.
答案 0 :(得分:1)
您需要按照https://stackoverflow.com/a/2422631/453605:
中的建议解开地址fun({Doc}) ->
case proplists:get_value(<<"ruby_class">>, Doc) of
<<"Company">> ->
case proplists:get_value(<<"postal_address">>, Doc) of
{Address} ->
Country = proplists:get_value(<<"postal_country">>, Address),
Emit(Country, 1);
_ ->
ok
end;
_ ->
ok
end
end.