SDK
SDK Javascript v7.x
2

scan #

Iterates incrementally over the set of keys in the database using a cursor.

An iteration starts when the cursor is set to 0.
To get the next page of results, simply re-send the request with the updated cursor position provided in the result set.

The scan ends when the cursor returned by the server is 0.

[Redis documentation]

Arguments #

scan(cursor, [options]);

ArgumentsTypeDescription
cursor
integer
Cursor offset
options
object
Optional query arguments

options #

The options arguments can contain the following option properties:

PropertyType (default)Description
count
integer (10)
Return an approximate number of items per result set
match
string (*)
Return only keys matching the provided pattern
queuable
boolean (true)
If true, queues the request during downtime, until connected to Kuzzle again
timeout
number

(-1)
Time (in ms) during which a request will still be waited to be resolved. Set it -1 if you want to wait indefinitely
triggerEvents
boolean

(false)
If set to true, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop.
Available since Kuzzle 2.31.0

Resolve #

Resolves to an object representing a result page, with the following properties:

PropertyTypeDescription
cursor
integer
Cursor offset for the next page, or 0 if at the end of the scan
values
string[]
List of keys

Usage #

try {
  await kuzzle.ms.set('key1', 'val1');
  await kuzzle.ms.set('key2', 'val2');
  await kuzzle.ms.set('key3', 'val3');
  // Prints:
  // {
  //   cursor: '0',
  //   values: [ 'key1', 'key2', 'key3' ]
  // }
  console.log(await kuzzle.ms.scan(0));
} catch (error) {
  console.error(error.message);
}