mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-14 01:45:47 +01:00
organize dbal sorted code
This commit is contained in:
57
src/database/mongo/sorted/remove.js
Normal file
57
src/database/mongo/sorted/remove.js
Normal file
@@ -0,0 +1,57 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function (db, module) {
|
||||
|
||||
var helpers = module.helpers.mongo;
|
||||
|
||||
module.sortedSetRemove = function (key, value, callback) {
|
||||
function done(err) {
|
||||
callback(err);
|
||||
}
|
||||
callback = callback || helpers.noop;
|
||||
if (!key) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
if (Array.isArray(value)) {
|
||||
value = value.map(helpers.valueToString);
|
||||
db.collection('objects').remove({_key: key, value: {$in: value}}, done);
|
||||
} else {
|
||||
value = helpers.valueToString(value);
|
||||
db.collection('objects').remove({_key: key, value: value}, done);
|
||||
}
|
||||
};
|
||||
|
||||
module.sortedSetsRemove = function (keys, value, callback) {
|
||||
callback = callback || helpers.noop;
|
||||
if (!Array.isArray(keys) || !keys.length) {
|
||||
return callback();
|
||||
}
|
||||
value = helpers.valueToString(value);
|
||||
|
||||
db.collection('objects').remove({_key: {$in: keys}, value: value}, function (err) {
|
||||
callback(err);
|
||||
});
|
||||
};
|
||||
|
||||
module.sortedSetsRemoveRangeByScore = function (keys, min, max, callback) {
|
||||
callback = callback || helpers.noop;
|
||||
if (!Array.isArray(keys) || !keys.length) {
|
||||
return callback();
|
||||
}
|
||||
var query = {_key: {$in: keys}};
|
||||
|
||||
if (min !== '-inf') {
|
||||
query.score = {$gte: min};
|
||||
}
|
||||
if (max !== '+inf') {
|
||||
query.score = query.score || {};
|
||||
query.score.$lte = max;
|
||||
}
|
||||
|
||||
db.collection('objects').remove(query, function (err) {
|
||||
callback(err);
|
||||
});
|
||||
};
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user