Skip to content

Commit

Permalink
added 2 new methods to dbal
Browse files Browse the repository at this point in the history
getSortedSetRangeWithScores
getSortedSetRangeByScoreWithScores
  • Loading branch information
barisusakli committed Oct 31, 2014
1 parent c44068d commit 1fe82ee
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
8 changes: 8 additions & 0 deletions src/database/mongo/sorted.js
Expand Up @@ -134,6 +134,10 @@ module.exports = function(db, module) {
getSortedSetRange(key, start, stop, -1, false, callback);
};

module.getSortedSetRangeWithScores = function(key, start, stop, callback) {
getSortedSetRange(key, start, stop, 1, true, callback);
};

module.getSortedSetRevRangeWithScores = function(key, start, stop, callback) {
getSortedSetRange(key, start, stop, -1, true, callback);
};
Expand All @@ -146,6 +150,10 @@ module.exports = function(db, module) {
getSortedSetRangeByScore(key, start, count, min, max, -1, false, callback);
};

module.getSortedSetRangeByScoreWithScores = function(key, start, count, min, max, callback) {
getSortedSetRangeByScore(key, start, count, min, max, -1, true, callback);
};

module.getSortedSetRevRangeByScoreWithScores = function(key, start, count, max, min, callback) {
getSortedSetRangeByScore(key, start, count, min, max, -1, true, callback);
};
Expand Down
24 changes: 20 additions & 4 deletions src/database/redis/sorted.js
Expand Up @@ -81,8 +81,16 @@ module.exports = function(redisClient, module) {
redisClient.zrevrange(key, start, stop, callback);
};

module.getSortedSetRangeWithScores = function(key, start, stop, callback) {
sortedSetRangeWithScores('zrange', key, start, stop, callback);
};

module.getSortedSetRevRangeWithScores = function(key, start, stop, callback) {
redisClient.zrevrange([key, start, stop, 'WITHSCORES'], function(err, data) {
sortedSetRangeWithScores('zrevrange', key, start, stop, callback);
};

function sortedSetRangeWithScores(method, key, start, stop, callback) {
redisClient[method]([key, start, stop, 'WITHSCORES'], function(err, data) {
if (err) {
return callback(err);
}
Expand All @@ -92,7 +100,7 @@ module.exports = function(redisClient, module) {
}
callback(null, objects);
});
};
}

module.getSortedSetRangeByScore = function(key, start, count, min, max, callback) {
redisClient.zrangebyscore([key, min, max, 'LIMIT', start, count], callback);
Expand All @@ -102,8 +110,16 @@ module.exports = function(redisClient, module) {
redisClient.zrevrangebyscore([key, max, min, 'LIMIT', start, count], callback);
};

module.getSortedSetRangeByScoreWithScores = function(key, start, count, min, max, callback) {
sortedSetRangeByScoreWithScores('zrangebyscore', key, start, count, min, max, callback);
};

module.getSortedSetRevRangeByScoreWithScores = function(key, start, count, max, min, callback) {
redisClient.zrevrangebyscore([key, max, min, 'WITHSCORES', 'LIMIT', start, count], function(err, data) {
sortedSetRangeByScoreWithScores('zrevrangebyscore', key, start, count, max, min, callback);
};

function sortedSetRangeByScoreWithScores(method, key, start, count, min, max, callback) {
redisClient[method]([key, min, max, 'WITHSCORES', 'LIMIT', start, count], function(err, data) {
if (err) {
return callback(err);
}
Expand All @@ -113,7 +129,7 @@ module.exports = function(redisClient, module) {
}
callback(null, objects);
});
};
}

module.sortedSetCount = function(key, min, max, callback) {
redisClient.zcount(key, min, max, callback);
Expand Down

0 comments on commit 1fe82ee

Please sign in to comment.