Query NoSQL TableAdmin Scope

Note: Ensure you have installed the required package to use this SDK method.

Using the queryTable() SDK method, you can query a NoSQL table and retrieve data by identifying the items using the primary keys of the table. For instance, you can use just the partition key or a combination of the partition key and sort key to retrieve the item.

Note: Catalyst enables you to retrieve a maximum of 100 items in bulk from a NoSQL table with pagination from a single SDK operation. You must use the start_key token received in the SDK response and construct the logic for pagination.

You can define the key condition that identifies the item by specifying the attributes, their required values, and the supported operator to be used. The supported operators are represented as shown below.

Operators Notation
CONTAINS contains
NOT_CONTAINS not_contains
BEGINS_WITH begins_with
ENDS_WITH ends_with
IN in
NOT_IN not_in
BETWEEN between
NOT_BETWEEN not_between
EQUALS equals
NOT_EQUALS not_equals
GREATER_THAN greater_than
LESS_THAN less_than
GREATER_THAN_OR_EQUALS greater_equal
LESSER_THAN_OR_EQUALS less_equal
AND AND
OR OR

The following example code snippet details the following logic:

  • The required items are identified using its partition key: fruitType.
  • The condition value is “Citrus”.
  • Implements consistent_read to indicate if the read operation must be done using the master or a slave cluster.
    • If the value is set as true, it is queried from the master.
    • If the value is set as false, it is queried from the slave.
Note: In the master-slave replication, the master contains all the data of the database, and the slave contains copies from the master. Performing a read operation from the slave can reduce the overall cost with the trade-off being a minor delay in the updated data being reflected.
copy
const NoSQLOperator = new NoSQLEnum();
// Query a NoSQL table to fetch the items identified by the partition key 'fruitType' with the value "Citrus"
const queriedItem = await table.queryTable({
  // Define the key condition to query the items with
  key_condition: {
    // Specify the partition key attribute name of the table
    attribute: 'fruitType',
    // Define the supported operator to be used.
    // You can also use BETWEEN, GREATERTHAN, LESSERTHAN, GREATERTHANOREQUALTO, LESSERTHANOREQUALTO
    operator: NoSQLOperator.EQUALS,
    // Specify the value for comparison
    value: NoSQLMarshall.makeString('Citrus'),
  },
  // Set consistent_read to true to query from master.
  // If set to false, it is queried from slave.
  consistent_read: true,
  // Limit the number of rows to be returned by specifying a value
  limit: 10,
  // Set forward_scan to true to sort the results in ascending order.
  // Otherwise, it is sorted in descending order.
  forward_scan: true,
});

Last Updated 2026-07-02 14:51:41 +0530 IST