为了翻译
类型的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
在某些情况下,会生成数千个查询。尝试使用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驱动程序执行?