如何使用Redis数据库基于时间(以毫秒为单位)对node.js中的数组进行排序

时间:2012-10-26 08:33:49

标签: node.js redis

我试图根据时间(毫秒)对包含Id和Time的数组进行排序。

Map.sort(function(a,b){return a.Time-b.Time});
for (keys in Map) {
    multi.hgetall(Map[key].id+':List');                     
}
multi.exec(function(err,data){                       
        res.send(data);
});

它没有显示任何数据。该数组中有3个ID。

1 个答案:

答案 0 :(得分:0)

我不知道代码中的res是什么。即使你命名变量keys,你也会在这句话中得到数组索引:

for(keys in Map){...}

尝试这样的事情,使用forEach迭代器:

Map=[{'id':'a', 'Time':90}, {'id':'c', 'Time':30}, {'id':'b', 'Time':66}]

Map.forEach(function(item){
    console.log(item);
    multi.hgetall(item.id + ':List');
});
multi.exec(function(err, data){                       
    console.log('data', data);
});

如果您的redis数据库中存在密钥a:Listb:Listc:List,则应打印一些数据。