我需要一些帮助,将以下CouchDB视图从javascript转换为erlang.我在erlang中需要它们,因为在javascript中视图使用所有可用的堆栈内存并崩溃couchjs(请参阅此bugreport https://issues.apache.org/jira/browse/COUCHDB-893).
我在javascript中的当前地图函数是:
同步/ transaction_keys
function(doc) {
if(doc.doc_type == "Device") {
for(key in doc.transactions)
emit(key, null);
}
}
Run Code Online (Sandbox Code Playgroud)
和同步/交易
function(doc) {
if(doc.doc_type == "Device") {
for(key in doc.transactions) {
t = doc.transactions[key];
t.device = doc.device;
emit(key, t);
}
}
}
Run Code Online (Sandbox Code Playgroud)
一个示例文档是:
{
"_id": "fcef7b5c-cbe6-31af-8363-2b446a7e4cf2",
"_rev": "3-c90abd075404a75744fd3e5e4f04ebad",
"device": "fcef7b5c-cbe6-31af-8363-2b446a7e4cf2",
"doc_type": "Device",
"transactions": {
"79fe8630-c0c0-30c6-9913-79b2f93e3e6e": {
"timestamp": 1309489169533,
"version": 10008,
"some_more_data" : "more_data"
}
"e4678930-c465-76a6-8821-75a3e888765a": {
"timestamp": 1309489169533,
"version": 10008,
"some_more_data" : "more_data"
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上sync/transaction_keys发出事务字典的所有键,sync/transaction确实发出事务字典中的所有条目.
不幸的是我之前从未使用过Erlang,我很快就需要重写代码,所以任何帮助都非常受欢迎.
提前致谢.