From 329bfeeb3bbb9ea718938a273af008f9fa813140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 20 Aug 2017 20:41:25 -0400 Subject: [PATCH] convert min/max to float --- src/database/mongo/sorted/remove.js | 6 ++++-- test/database/sorted.js | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/database/mongo/sorted/remove.js b/src/database/mongo/sorted/remove.js index e8dea857eb..71669a757b 100644 --- a/src/database/mongo/sorted/remove.js +++ b/src/database/mongo/sorted/remove.js @@ -41,11 +41,11 @@ module.exports = function (db, module) { var query = { _key: { $in: keys } }; if (min !== '-inf') { - query.score = { $gte: min }; + query.score = { $gte: parseFloat(min) }; } if (max !== '+inf') { query.score = query.score || {}; - query.score.$lte = max; + query.score.$lte = parseFloat(max); } db.collection('objects').remove(query, function (err) { @@ -53,3 +53,5 @@ module.exports = function (db, module) { }); }; }; + + diff --git a/test/database/sorted.js b/test/database/sorted.js index 67bb9831f1..123a48ecd2 100644 --- a/test/database/sorted.js +++ b/test/database/sorted.js @@ -599,15 +599,29 @@ describe('Sorted Set methods', function () { it('should remove elements with scores between min max inclusive', function (done) { db.sortedSetsRemoveRangeByScore(['sorted6'], 4, 5, function (err) { - assert.equal(err, null); + assert.ifError(err); assert.equal(arguments.length, 1); db.getSortedSetRange('sorted6', 0, -1, function (err, values) { - assert.equal(err, null); + assert.ifError(err); assert.deepEqual(values, ['value1', 'value2', 'value3']); done(); }); }); }); + + it('should remove elements with if strin score is passed in', function (done) { + db.sortedSetAdd('sortedForRemove', [11, 22, 33], ['value1', 'value2', 'value3'], function (err) { + assert.ifError(err); + db.sortedSetsRemoveRangeByScore(['sortedForRemove'], '22', '22', function (err) { + assert.ifError(err); + db.getSortedSetRange('sortedForRemove', 0, -1, function (err, values) { + assert.ifError(err); + assert.deepEqual(values, ['value1', 'value3']); + done(); + }); + }); + }); + }); }); describe('getSortedSetIntersect', function () {