Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点js redis循环遍历每个散列键值_Javascript_Node.js_Express_Redis_Hogan.js - Fatal编程技术网

Javascript 节点js redis循环遍历每个散列键值

Javascript 节点js redis循环遍历每个散列键值,javascript,node.js,express,redis,hogan.js,Javascript,Node.js,Express,Redis,Hogan.js,我对redis&node非常陌生,目前我正在尝试循环使用我创建的一些测试哈希键并打印出来以筛选结果。以下是我希望看到的结果: { "aaData": [['Tim Osbourne'],['Joe Bloggs'],['John Doe'],['Perry Coke'],['Will Holmes'],['Steven Smith']} 但我得到的结果是: { "aaData": [[],[],[],[],[],[],]}'Tim Osbourne','Joe Bloggs','John Do

我对redis&node非常陌生,目前我正在尝试循环使用我创建的一些测试哈希键并打印出来以筛选结果。以下是我希望看到的结果:

{ "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 = require('../app'); var redis = require("redis"), client = redis.createClient(); routes = require('./'); var key_types = ''; client.keys("*", function (err, all_keys) { key_types += '{ "aaData": ['; all_keys.forEach(function (key, pos) { // use second arg of forEach to get pos key_types += "["; client.hmget([key, 'Owner of space'], 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', { keys: key_types}); }); app=require('../app'); var redis=需要(“redis”), client=redis.createClient(); 路由=需要('./'); 变量键类型=“”; client.key(“*”,函数(err,所有_键){ 键类型+='{“aaData”:['; 所有_key.forEach(函数(key,pos){//使用forEach的第二个参数获取pos 按键类型+=“[”; client.hmget([key,'Owner of space'],函数(err,field_val){ 键类型=键类型+“'”+字段值+“,”; }); 键类型+=“],”; }); 键类型+=“]}”; }); 应用程序获取('/table_data',函数(req,res){ res.render('table_data',{keys:key_types}); });
  • 您不应该执行
    键*
  • 它不工作,因为hmget是异步的,您应该使用
    async
    模块(async.map)来实现这一点
既然
“空间所有者”
总是会产生相同的结果,那么
[键,'空间所有者']
的目标是什么