MongoDB C# 2.0 драйвер: Как получить результат от MapReduceAsyncMongoDB C 2.0 драйвер #: Как получить результат от MapReduceAsync
Я использую MongoDB версии 3, C# драйвер 2,0 и получите результат метода MapReduceAsync , У меня есть эта коллекция «пользователи»:
{ "_id" : 1, "firstName" : "Rich", "age" : "18" }
{ "_id" : 2, "firstName" : "Rob", "age" : "25" }
{ "_id" : 3, "firstName" : "Sarah", "age" : "12" }
Код в VisualStudio:
var map = new BsonJavaScript(@"
var map = function()
{
emit(NumberInt(1), this.age);
};");
var reduce = new BsonJavaScript(@"
var reduce = function(key, values)
{
var sum = 0;
values.forEach(function(item)
{
sum += NumberInt(item);
});
return sum;
};");
var coll = db.GetCollection<BsonDocument>("users");
var options = new MapReduceOptions<BsonDocument, TResult>();//what should be TResult?
options.OutputOptions = MapReduceOutputOptions.Inline;
var res = coll.MapReduceAsync(map, reduce, options).Result.ToListAsync();
//get the values of res...
//or if the result is a list...
foreach(var item in res)
{
//get the values and do something...
}