mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: add getSortedSetMembers
This commit is contained in:
@@ -356,6 +356,11 @@ module.exports = function (module) {
|
|||||||
return keys.map(key => !!isMember[key]);
|
return keys.map(key => !!isMember[key]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.getSortedSetMembers = async function (key) {
|
||||||
|
const data = await module.getSortedSetsMembers([key]);
|
||||||
|
return data && data[0];
|
||||||
|
};
|
||||||
|
|
||||||
module.getSortedSetsMembers = async function (keys) {
|
module.getSortedSetsMembers = async function (keys) {
|
||||||
if (!Array.isArray(keys) || !keys.length) {
|
if (!Array.isArray(keys) || !keys.length) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -455,6 +455,11 @@ SELECT o."_key" k
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.getSortedSetMembers = async function (key) {
|
||||||
|
const data = await module.getSortedSetsMembers([key]);
|
||||||
|
return data && data[0];
|
||||||
|
};
|
||||||
|
|
||||||
module.getSortedSetsMembers = async function (keys) {
|
module.getSortedSetsMembers = async function (keys) {
|
||||||
if (!Array.isArray(keys) || !keys.length) {
|
if (!Array.isArray(keys) || !keys.length) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -219,6 +219,10 @@ module.exports = function (module) {
|
|||||||
return results.map(utils.isNumber);
|
return results.map(utils.isNumber);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.getSortedSetMembers = async function (key) {
|
||||||
|
return await module.client.async.zrange(key, 0, -1);
|
||||||
|
};
|
||||||
|
|
||||||
module.getSortedSetsMembers = async function (keys) {
|
module.getSortedSetsMembers = async function (keys) {
|
||||||
if (!Array.isArray(keys) || !keys.length) {
|
if (!Array.isArray(keys) || !keys.length) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -870,6 +870,13 @@ describe('Sorted Set methods', function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('getSortedSetsMembers', function () {
|
describe('getSortedSetsMembers', function () {
|
||||||
|
it('should return members of a sorted set', async function () {
|
||||||
|
const result = await db.getSortedSetMembers('sortedSetTest1');
|
||||||
|
result.forEach(function (element) {
|
||||||
|
assert(['value1', 'value2', 'value3'].includes(element));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should return members of multiple sorted sets', function (done) {
|
it('should return members of multiple sorted sets', function (done) {
|
||||||
db.getSortedSetsMembers(['doesnotexist', 'sortedSetTest1'], function (err, sortedSets) {
|
db.getSortedSetsMembers(['doesnotexist', 'sortedSetTest1'], function (err, sortedSets) {
|
||||||
assert.equal(err, null);
|
assert.equal(err, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user