nodejs で node_redis の hmset/hgetall を使ってデータを保存する

単純な key => value の object の形のデータならいいけど value が更に object だった場合に [Object object] という文字列が入ってしまうので そこから先を json 文字列にして保存してしまう作戦。

コード

// data を格納する
var client = redis.createClient(CONFIG.port, CONFIG.host);
data = _.map(Object.getOwnPropertyNames(data), function(num, key) {
    return JSON.stringify(data[key]);
});
client.hmset(storeKey, data);
var client = redis.createClient(CONFIG.port, CONFIG.host);
client.hgetall(storeKey, function(err, data) {
    var result = _.map(Object.getOwnPropertyNames(val), function(num, key) {
        return JSON.parse(data[key]);
    })
    // result を使う
});