Starting with version 4.9, the Apache Software Foundation owns and maintains the NodeJS driver. For the latest version, visit github.com/apache/cassandra-nodejs-driver
An Array containing the name of the properties that will be used in the
SELECT cql statement generated, in order to restrict the amount of columns retrieved.
Executes a SELECT query without a filter and returns the result as an iterable of documents.
This is only recommended to be used for tables with a limited amount of results. Otherwise, breaking up the
token ranges on the client side should be used.
An Array containing the name of the properties that will be used in the
SELECT cql statement generated, in order to restrict the amount of columns retrieved.
An Array containing the name of the properties that will be used in the
SELECT cql statement generated, in order to restrict the amount of columns retrieved.
An Array containing the name of the properties that will be used in the
INSERT cql statements generated. If specified, it must include the columns to insert and the primary keys.
Defines whether the query can be applied multiple times without
changing the result beyond the initial application.
By default all generated INSERT statements are considered idempotent, except in the case of lightweight
transactions. Lightweight transactions at client level with transparent retries can
break linearizability. If that is not an issue for your application, you can manually set this field to true.
Uses the provided query and param getter function to execute a query and map the results.
Gets a function that takes the document, executes the query and returns the mapped results.
When provided, the options for all executions generated with this
method will use the provided options and it will not consider the executionOptions per call.
A document that act as the condition that has to be met for the DELETE to occur.
Use this property only in the case you want to specify a conditional clause for lightweight transactions (CAS).
When the CQL query is generated, this would be used to generate the IF clause.
Please note that using IF conditions will incur a non negligible performance cost on the server-side so this
should be used sparingly.
An Array containing the name of the properties that will be used in the
DELETE cql statement generated. If specified, it must include the columns to delete and the primary keys.
Determines that, when more document properties are specified
besides the primary keys, the generated DELETE statement should be used to delete some column values but leave
the row. When this is enabled and more properties are specified, a DELETE statement will have the following form:
“DELETE col1, col2 FROM table1 WHERE pk1 = ? AND pk2 = ?”
Defines whether the query can be applied multiple times without
changing the result beyond the initial application.
By default all generated DELETE statements are considered idempotent, except in the case of lightweight
transactions. Lightweight transactions at client level with transparent retries can
break linearizability. If that is not an issue for your application, you can manually set this field to true.
An Array containing the name of the properties that will be used in the
UPDATE cql statements generated. If specified, it must include the columns to update and the primary keys.
A document that act as the condition that has to be met for the UPDATE to occur.
Use this property only in the case you want to specify a conditional clause for lightweight transactions (CAS).
Please note that using IF conditions will incur a non negligible performance cost on the server-side so this
should be used sparingly.
Defines whether the query can be applied multiple times without
changing the result beyond the initial application.
The mapper uses the generated queries to determine the default value. When an UPDATE is generated with a
counter column or appending/prepending to a list column, the execution is marked as not idempotent.
Additionally, the mapper uses the safest approach for queries with lightweight transactions (Compare and
Set) by considering them as non-idempotent. Lightweight transactions at client level with transparent retries can
break linearizability. If that is not an issue for your application, you can manually set this field to true.