diff --git a/src/database/mongo/sorted/remove.js b/src/database/mongo/sorted/remove.js index 80f9221604..ab4fd90b33 100644 --- a/src/database/mongo/sorted/remove.js +++ b/src/database/mongo/sorted/remove.js @@ -11,16 +11,20 @@ module.exports = function (db, module) { if (!key) { return callback(); } + + if (Array.isArray(value)) { + value = value.map(helpers.valueToString); + } else { + value = helpers.valueToString(value); + } + if (Array.isArray(key) && Array.isArray(value)) { db.collection('objects').deleteMany({ _key: { $in: key }, value: { $in: value } }, done); } else if (Array.isArray(value)) { - value = value.map(helpers.valueToString); db.collection('objects').deleteMany({ _key: key, value: { $in: value } }, done); } else if (Array.isArray(key)) { - value = helpers.valueToString(value); db.collection('objects').deleteMany({ _key: { $in: key }, value: value }, done); } else { - value = helpers.valueToString(value); db.collection('objects').deleteOne({ _key: key, value: value }, done); } }; diff --git a/test/database/sorted.js b/test/database/sorted.js index 6d31d80935..ab6ba95652 100644 --- a/test/database/sorted.js +++ b/test/database/sorted.js @@ -708,9 +708,9 @@ describe('Sorted Set methods', function () { assert.ifError(err); db.sortedSetAdd('multiTest6', [2], ['two'], function (err) { assert.ifError(err); - db.sortedSetAdd('multiTest7', [3], ['three'], function (err) { + db.sortedSetAdd('multiTest7', [3], [333], function (err) { assert.ifError(err); - db.sortedSetRemove(['multiTest5', 'multiTest6', 'multiTest7'], ['one', 'two', 'three'], function (err) { + db.sortedSetRemove(['multiTest5', 'multiTest6', 'multiTest7'], ['one', 'two', 333], function (err) { assert.ifError(err); db.getSortedSetsMembers(['multiTest5', 'multiTest6', 'multiTest7'], function (err, members) { assert.ifError(err);