diff --git a/src/database/mongo/sorted.js b/src/database/mongo/sorted.js index fa772666b3..d9183521c6 100644 --- a/src/database/mongo/sorted.js +++ b/src/database/mongo/sorted.js @@ -596,11 +596,19 @@ module.exports = function (db, module) { var query = {_key: key, value: {}}; if (min !== '-') { - query.value = {$gte: min}; + if (min.match('(')) { + query.value = {$gt: parseInt(min, 10)}; + } else { + query.value = {$gte: parseInt(min, 10)}; + } } if (max !== '+') { query.value = query.value || {}; - query.value.$lte = max; + if (max.match('(')) { + query.value = {$lt: parseInt(max, 10)}; + } else { + query.value = {$lte: parseInt(max, 10)}; + } } db.collection('objects').find(query, {_id: 0, value: 1}) @@ -624,11 +632,19 @@ module.exports = function (db, module) { var query = {_key: key}; if (min !== '-') { - query.value = {$gte: min}; + if (min.match('(')) { + query.value = {$gt: parseInt(min, 10)}; + } else { + query.value = {$gte: parseInt(min, 10)}; + } } if (max !== '+') { query.value = query.value || {}; - query.value.$lte = max; + if (max.match('(')) { + query.value = {$lt: parseInt(max, 10)}; + } else { + query.value = {$lte: parseInt(max, 10)}; + } } db.collection('objects').remove(query, function (err) { diff --git a/src/database/redis/sorted.js b/src/database/redis/sorted.js index 8cf807d3a4..f8be7b3754 100644 --- a/src/database/redis/sorted.js +++ b/src/database/redis/sorted.js @@ -311,20 +311,22 @@ module.exports = function (redisClient, module) { function sortedSetLex(method, reverse, key, min, max, start, count, callback) { if (!callback) callback === start; + var minmin, maxmax; if (reverse) { - if (min !== '+') { - min = '(' + min; - } - if (max !== '-') { - max = '[' + max; - } + minmin = '+'; + maxmax = '-'; } else { - if (min !== '-') { - min = '[' + min; - } - if (max !== '+') { - max = '(' + max; - } + minmin = '-'; + maxmax = '+'; + } + + if (min !== minmin) { + min = '' + min; + if (!min.match(/[\[\(]/)) min = '[' + min; + } + if (max !== maxmax) { + max = '' + max; + if (!max.match(/[\[\(]/)) max = '[' + max; } if (count) {