SDK
SDK Javascript v6.x
1

# zunionstore

Computes the union of the provided sorted sets, and stores the result in a new sorted set.

[Redis documentation]

# Arguments

Copied to clipboard!
zunionstore(dest, sources, [options]);

Arguments Type Description
dest
string
Target sorted set key
sources
string[]
List of sorted set keys to join
options
object
Optional query arguments

# options

The options arguments can contain the following option properties:

Property Type (default) Description
aggregate
string ("sum")
Specifies how members' scores are aggregated during the intersection.
Allowed values: min, max, sum
queuable
boolean (true)
If true, queues the request during downtime, until connected to Kuzzle again
weights
integer[]
List of multiplication factors to apply to sources sets, before aggregation.

# Resolve

Resolves to the number of members added to the destination sorted set.

# Usage

Copied to clipboard!
try {
  await kuzzle.ms.zadd('sset1', [
    {member: 'foo', score: '42'},
    {member: 'bar', score: '4'}
  ]);
  await kuzzle.ms.zadd('sset2', [
    {member: 'foo', score: '-29'},
    {member: 'baz', score: '300'}
  ]);
  // Sums scores of joined values
  await kuzzle.ms.zunionstore('destsum', ['sset1', 'sset2']);
  // Stores the minimum possible scores of joined values
  await kuzzle.ms.zunionstore(
    'destmin',
    ['sset1', 'sset2'],
    {aggregate: 'min'}
  );
  // Prints:
  // [ { member: 'bar', score: 4 },
  //   { member: 'foo', score: 13 },
  //   { member: 'baz', score: 300 } ]
  console.log(await kuzzle.ms.zrange('destsum', 0, -1));
  // Prints:
  // [ { member: 'foo', score: -29 },
  //   { member: 'bar', score: 4 },
  //   { member: 'baz', score: 300 } ]
  console.log(await kuzzle.ms.zrange('destmin', 0, -1));
} catch (error) {
  console.error(error.message);
}