Riak.mapValuesJson() と JSON.parse() の間に違いがあるかどうか疑問に思っています。Riak.mapValuesJson() について知らなかったので、Riak データベースの map reduce 関数で JSON.parse() を使い続けましたが、これはうまくいきましたRiak.mapValuesJson() が JSON.parse() のエイリアスである場合
質問する
1157 次
1 に答える
1
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 データを解析することです。if ステムに追加することとオブジェクトを初期化することの 2 つの間に大きな速度の違いはないはずですが、 map reduce の呼び出しは簡単です。小さいバケットではこれを使用し、大きいバケットでは JSON.pare() を使用します。
于 2012-10-14T20:12:30.087 に答える