mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 03:26:04 +01:00
Allow lex min and max to be inclusive or exclusive.
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user