redis zunionstore动态传递集合

时间:2013-04-30 14:45:17

标签: javascript node.js redis runtime

我想在运行时定义的集合上使用zunionstore命令,它们是动态获取的,所以我永远不知道我必须传递给函数的集合。

zunionstore的语法:

  

ZUNIONSTORE目的地数字键[键...] [重量[重量...]] [总计和|最大|最大]

parsed数组包含集的名称。

client.zunionstore
        (
            'out',                
            parsed.length,
            parsed,
            function (err, res)
            {
                console.log(err); 
                if(!err)
                {
                    client.zrevrange('out', 0, -1, 'withscores', function (err, res)
                    {
                        console.log(res);
                        if(!err)
                        {
                            //do stuff
                        }
                    });                          
                }
            }
        );

你可以看到我试图传递包含名称的数组,但这不起作用..

我得到的错误:

[Error: ERR syntax error]

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

你的意思是你在将数组传递给函数时遇到问题吗?将所有参数放入数组并在函数Passing an array as a function parameter in JavaScript

上调用apply

所以,你有parsed数组,只需添加'out'parsed.length等其他内容,然后调用client.zunionstore.apply(this, array)