Allow lex min and max to be inclusive or exclusive.

v1.18.x
yariplus 9 years ago
parent 437d2744cc
commit 1bb44e2429

@ -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) {

@ -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) {

Loading…
Cancel
Save