它使用JSON.parse()來
見的別名:https://github.com/basho/riak_kv/blob/master/priv/mapred_builtins.js
mapValues: function(value, keyData, arg) {
if (value["not_found"]) {
return [value];
}
var data = value["values"][0]["data"];
if (Riak.getClassName(data) !== "Array") {
return [data];
}
else {
return data;
}},
mapValuesJson: function(value, keyData, arg) {
if (value["not_found"]) {
return [value];
}
var newValues = Riak.mapValues(value, keyData, arg);
return newValues.map(function(nv) { return JSON.parse(nv); });
}
編輯:
的第一步是在if語句中確保對象有一個值導致riak將返回一個對象,即使沒有值,允許你設置一個值。
下一步是調用父對象並使用回調函數調用該方法來解析當前已解碼的json數據,如果stements和initalizing對象之間不應該存在兩者之間的主要速度差異,但它確實使地圖的調用更容易,我會使用這個更小的桶和更大的桶上的JSON.pare()
我的JavaScript是真的很糟糕,你會解釋什麼額外的事情之前它調用mapValuesJson – WojonsTech