mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-07-11 01:13:34 +02:00
optimize getPostSummaryByPids
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var async = require('async');
|
||||
|
||||
module.exports = function(db, module) {
|
||||
var helpers = module.helpers.mongo;
|
||||
|
||||
@@ -119,6 +121,17 @@ module.exports = function(db, module) {
|
||||
});
|
||||
}
|
||||
|
||||
module.sortedSetsRanks = function(keys, values, callback) {
|
||||
var data = new Array(values.length);
|
||||
for (var i=0; i<values.length; ++i) {
|
||||
data[i] = {key: keys[i], value: values[i]};
|
||||
}
|
||||
|
||||
async.map(data, function(item, next) {
|
||||
getSortedSetRank(module.getSortedSetRange, item.key, item.value, next);
|
||||
}, callback);
|
||||
};
|
||||
|
||||
module.sortedSetScore = function(key, value, callback) {
|
||||
value = helpers.valueToString(value);
|
||||
db.collection('objects').findOne({_key:key, value: value}, {fields:{score:1}}, function(err, result) {
|
||||
|
||||
@@ -54,6 +54,14 @@ module.exports = function(redisClient, module) {
|
||||
redisClient.zrank(key, value, callback);
|
||||
};
|
||||
|
||||
module.sortedSetsRanks = function(keys, values, callback) {
|
||||
var multi = redisClient.multi();
|
||||
for(var i=0; i<values.length; ++i) {
|
||||
multi.zrank(keys[i], values[i]);
|
||||
}
|
||||
multi.exec(callback);
|
||||
};
|
||||
|
||||
module.sortedSetRevRank = function(key, value, callback) {
|
||||
redisClient.zrevrank(key, value, callback);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user