Consultar índice en NoSQL
Catalyst te permite consultar un índice NoSQL y recuperar datos identificando los elementos usando las claves primarias del índice. La indexación te permite ejecutar consultas alternativas sobre los datos de la tabla sin hacer uso de las claves primarias de la tabla principal. Puedes configurar índices desde la consola de Catalyst. Puedes usar solo la clave de partición o una combinación de la clave de partición y la clave de ordenamiento del índice para recuperar un elemento.
Puedes definir la condición de clave que identifica el elemento especificando los atributos, sus valores requeridos y el operador admitido a utilizar. Los operadores admitidos se representan como se muestra a continuación.
| Operadores | Notación |
|---|---|
| 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 |
En el ejemplo a continuación, la consulta se ejecuta identificando los elementos usando la clave de partición fruitColor del índice FruitIdentifier y especificando el valor de condición como “yellow”. La consulta se realiza usando el método queryIndex().
Catalyst NoSQL también te permite definir otros elementos de la consulta, como usar consistent_read para indicar si la operación de lectura debe realizarse usando el clúster maestro o uno esclavo, limitar el número de filas a devolver y especificar el orden de clasificación como ascendente.
Se requiere la biblioteca no-sql del paquete zcatalyst-sdk-node para definir el elemento NoSQL.
const { NoSQLMarshall, NoSQLEnum } = require('zcatalyst-sdk-node/lib/no-sql');
const { NoSQLOperator } = NoSQLEnum;
//Consultar un índice de tabla NoSQL para obtener los elementos identificados por la clave de partición fruitColour con el valor "yellow"
const queriedIndexItems = await table.queryIndex('FruitIdentifier', {
//Definir la condición de clave para consultar los elementos
key_condition: {
attribute: 'fruitColor',
//Definir el operador soportado a utilizar
operator: NoSQLOperator.EQUALS,
value: NoSQLMarshall.makeString('yellow')
},
// Establecer consistent_read en true para consultar desde el maestro. Si se establece en false, se consulta desde el esclavo.
consistent_read: true,
//Limitar el número de filas a devolver especificando un valor
limit: 15,
// Establecer forward_scan en true para ordenar los resultados en orden ascendente. De lo contrario, se ordena en orden descendente.
forward_scan: true
});
Última actualización 2026-03-24 17:38:39 +0530 IST
Yes
No
Send your feedback to us