【问题标题】:node js redis loop through each hash key valuenode js redis循环遍历每个哈希键值
【发布时间】:2014-06-08 11:44:21
【问题描述】:

我对 redis 和节点非常陌生,目前我正在尝试遍历我创建的一些测试哈希键并打印出来以筛选结果。这是我希望看到的结果:

{ "aaData": [['Tim Osbourne'],['Joe Bloggs'],['John Doe'],['Perry Coke'],['Will Holmes'],['Steven Smith']}

但是我得到了这个结果:

{ "aaData": [[],[],[],[],[],[],]}'Tim Osbourne','Joe Bloggs','John Doe','Perry Coke','Will Holmes','Steven Smith',

这是我的代码:

app = 要求('../app'); var redis = 要求(“redis”), 客户端 = redis.createClient(); 路线=要求('./'); var key_types = ''; client.keys("*", function (err, all_keys) { key_types += '{ "aaData": ['; all_keys.forEach(function (key, pos) { // 使用 forEach 的第二个参数获取 pos key_types += "["; client.hmget([key, '空间所有者'], function(err, field_val){ key_types = key_types + "'" + field_val + "',"; }); key_types += "],"; }); key_types += "]}"; }); app.get('/table_data', function(req, res){ res.render('table_data', {键:key_types}); });

【问题讨论】:

    标签: javascript node.js express redis hogan.js


    【解决方案1】:
    • 你不应该做keys *
    • 它不起作用,因为 hmget 是异步的,您应该为此使用 async 模块 (async.map)。

    [key, 'Owner of space'] 的目标是什么,因为'Owner of space' 总是会产生相同的结果?

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多