SDK
SDK Javascript v7.x
2

msetnx #

Sets the provided keys to their respective values, only if they do not exist. If a key exists, then the whole operation is aborted and no key is set.

[Redis documentation]

Arguments #

msetnx(entries, [options]);

ArgumentsTypeDescription
entries
object[]
List of key-value pairs to set
options
object
Optional query arguments

entries #

The entries argument is an array of objects. Each object is a key-value pair, defined with the following properties:

PropertyTypeDescription
key
string
Key
value
*
Value

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 #

Resolves to a boolean telling whether the keys have been set or not.

Usage #

const entries = [
  { key: 'hello', value: 'world' },
  { key: 'foo', value: 'bar' }
];
try {
  await kuzzle.ms.set('foo', 'bar');
  // Prints: false
  // (the entire operation aborted)
  console.log(await kuzzle.ms.msetnx(entries));
  await kuzzle.ms.del('foo');
  // Prints: true
  console.log(await kuzzle.ms.msetnx(entries));
} catch (error) {
  console.error(error.message);
}