Search code examples
cassandranodescql

using nodejs with pattern matching in CQL


const query= 'SELECT * FROM TEST WHERE "partitionId" =  \'sr\' AND "name" LIKE \'%?%\'';



db.execute(query, ['B']).then(function(res) {
    console.log(res);
}).catch(function(error) {
    console.log(error);
}); 

I was not able to select data based on the pattern specified in the array.What is the exact way using CQL pattern matching with nodejs.I am getting "Invalid amount of bind variables" error.

NOTE: db has all the connection parameters


Solution

  • I think that you need to use following instead

    const query= 'SELECT * FROM TEST WHERE "partitionId" =  \'sr\' AND "name" LIKE ?';
    db.execute(query, ['%B%']).then(function(res) {
    ...
    

    P.S. Do you have corresponding indices built that support the LIKE expression? Cassandra doesn't work the same way as "standard" SQL databases.