我需要一些幫助,將以下CouchDB視圖從javascript轉換爲erlang。我需要他們在erlang中,因爲在JavaScript中,視圖使用了所有可用的堆棧內存並崩潰了couchjs(請參閱此bugreport https://issues.apache.org/jira/browse/COUCHDB-893)。將CouchDB javascript視圖轉換爲erlang
當前地圖功能我有在JavaScript是:
同步/ transaction_keys
function(doc) {
if(doc.doc_type == "Device") {
for(key in doc.transactions)
emit(key, null);
}
}
和同步/ transcation
function(doc) {
if(doc.doc_type == "Device") {
for(key in doc.transactions) {
t = doc.transactions[key];
t.device = doc.device;
emit(key, t);
}
}
}
一個例子文件將是:
{
"_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"
}
}
}
基本上sync/transaction_keys發出事務字典的所有密鑰,並且sync/transaction確實發出事務字典中的所有條目。
不幸的是,我以前從未使用過Erlang,我需要很快重寫該代碼,所以任何幫助都非常受歡迎。
在此先感謝。
您在較大的文檔中進行了多少交易?這*應該是好的,雖然我會避免全局變量(我認爲*真的不重要在這種情況下)。 – Dustin
約594個交易/文件。但它不斷增長,因爲每增加15分鐘另一筆交易。 – Simon
也許你最好將這些交易記錄爲新文件。有沒有理由不這樣做?看來這樣模擬會更容易。 – Dustin