如何安全地执行多个SELECT查询

时间:2017-01-16 15:50:16

标签: javascript cassandra bluebird

为了翻译

类型的cassandra查询
SELECT * FROM [table] WHERE ... AND [param x] IN (val1, val2, ..., valN)

进入多个类型为

的查询
SELECT * FROM [table] WHERE ... AND [param x] = val1
SELECT * FROM [table] WHERE ... AND [param x] = val2
...
SELECT * FROM [table] WHERE ... AND [param x] = valN

我创建了function to translate array of parameters that contain arrays into all possible combinations of parameter values

在某些情况下,会生成数千个查询。尝试使用bluebird承诺以下列方式执行所有查询后:

Promise.all(promisesArray).then(function (results) { ... })

其中promisesArray是承诺数组:

return new Promise(function (resolve, reject) {
        client.execute(query, params, {prepare: true}, function (err, result) {
            if (err) {
                console.log(err);
                reject(err);
            } else {
                resolve(result);
            }
        });
    });

当尝试以这种方式运行批量查询时,cassandra上存在一些问题,并且它没有返回预期的结果。

有没有人知道如何在cassandra上安全地执行多个SELECT查询,或者使用promises,或者有没有办法直接使用cassandra驱动程序执行?

0 个答案:

没有答案