SDK
SDK Javascript v7.x
2

mexecute #

Allows the execution of multiple commands or 'actions' in a single step.

It creates a Redis transaction block and executes it immediately, all actions will be executed sequentially and as a single atomic and isolated operation.

[Redis documentation]

Only already valid actions of the memoryStorage controller can be executed using mexecute.

Arguments #

mexecute(actions, [options]);

ArgumentsTypeDescription
actions
object[]
List of actions to execute
options
object
Optional query arguments

actions #

The actions argument is an array of objects. Each object describes an action to be executed, using the following properties:

PropertyTypeDescription
action
string
Action name
args
object
Arguments

options #

The options arguments can contain the following option properties:

PropertyType (default)Description
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 #

Returns an array of error & result pairs for each executed action, in order.

Usage #

try {
  const actions = [
    { 'action': 'set', 'args': { '_id': 'list:a', 'body': { 'value': 1, 'ex': 100, 'nx': true } } },
    { 'action': 'get', 'args': { '_id': 'list:a' } },
    { 'action': 'del', 'args': { 'body': { 'keys': ['list:a'] } } }];
  // Prints: "[ [ null, 'OK' ], [ null, '1' ], [ null, 1 ] ]"
  console.log(await kuzzle.ms.mexecute(actions));
} catch (error) {
  console.error(error.message);
}