Commit 0674469f authored by strong's avatar strong

通过单独count和distinct的方式获取帖子列表的参与人数

parent 0e64aeef
...@@ -784,10 +784,15 @@ function getSubThreads(doc, sort, callback) { ...@@ -784,10 +784,15 @@ function getSubThreads(doc, sort, callback) {
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
async.parallel([function(cb){
ForumThread.distinct('from', conditions, cb);
},function(cb){
countAllByFid(conditions, cb);
},function(cb){
ForumThread.find(conditions, subThreadFields).populate('from', 'icon').limit(Number(20)).sort(sortBy).exec(function(err, docs) { ForumThread.find(conditions, subThreadFields).populate('from', 'icon').limit(Number(20)).sort(sortBy).exec(function(err, docs) {
if (err) { if (err) {
console.error(err); console.error(err);
callback(err, null); cb(err, null);
} else { } else {
var list = []; //用户去重 var list = []; //用户去重
_.forEach(docs, function(one, i) { _.forEach(docs, function(one, i) {
...@@ -802,14 +807,20 @@ function getSubThreads(doc, sort, callback) { ...@@ -802,14 +807,20 @@ function getSubThreads(doc, sort, callback) {
} }
}); });
var obj = {}; var obj = {};
obj.docTotal = docs.length;
obj.total = list.length;
obj.items = list; obj.items = list;
var newDoc = doc.toObject(); var newDoc = doc.toObject();
newDoc.subThreads = obj; newDoc.subThreads = obj;
cb(null, newDoc);
callback(null, newDoc); }
});
}],function(err, results){
if (err) {
callback(err);
} else {
var lastResult = results[2];
lastResult.subThreads.docTotal = result[1] || 0;
lastResult.subThreads.total = result[0];
callback(null, lastResult);
} }
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment