zinterstore #
Computes the intersection of the provided sorted sets, and stores the result in a new sorted set.
Arguments #
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 #
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);
}
Edit this page on Github(opens new window)