SDK
SDK Javascript v7.x
2

zinterstore #

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

[Redis documentation]

Arguments #

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

Arguments Type Description
dest
string
Target sorted set key
sources
string[]
List of sorted set keys to intersect
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'},
    {member: 'baz', score: '-272.15'}
  ]);
  await kuzzle.ms.zadd('sset2', [
    {member: 'foo', score: '-29'},
    {member: 'baz', score: '300'}
  ]);
  // Sums scores of intersected values
  await kuzzle.ms.zinterstore('destsum', ['sset1', 'sset2']);
  // Stores the minimum possible scores of intersected values
  await kuzzle.ms.zinterstore(
    'destmin',
    ['sset1', 'sset2'],
    {aggregate: 'min'}
  );
  // Prints:
  // [ { member: 'foo', score: 13 },
  //   { member: 'baz', score: 27.85 } ]
  console.log(await kuzzle.ms.zrange('destsum', 0, -1));
  // Prints:
  // [ { member: 'baz', score: -272.15 },
  //   { member: 'foo', score: -29 } ]
  console.log(await kuzzle.ms.zrange('destmin', 0, -1));
} catch (error) {
  console.error(error.message);
}