我在 C# 中编写了一个从 mongoDB 检索推文的方法,并希望按转推数对作者进行计数和排序。
现在,该方法已经执行了 map 和 reduce 并通过以下方式返回未排序的结果:
public void RetweetsCount()
{
string wordMap = @"function wordMap() {
var usernameOrigin = this.text.match(/\brt\s*@(\w+)/i);
if (usernameOrigin === null) {
return;
}
// loop every word in the document
emit(usernameOrigin[1], { count : 1 });
}";
string wordReduce = @"function wordReduce(key, values) {
var total = 0;
for (var i = 0; i < values.length; i++) {
total += values[i].count;
}
return { count : total };
}";
var options = new MapReduceOptionsBuilder();
options.SetOutput(MapReduceOutput.Inline);
var results = collection.MapReduce(wordMap, wordReduce, options);
foreach (var result in results.GetResults())
{
Console.WriteLine(result.ToJson());
}
}
有谁知道如何通过递减计数值(转推数)对结果进行排序?