0
我试图创建一个GROUP_BY/MySQL的相当于在RavenDbRavenDb的Map/Reduce嵌套数组
JSON文档的样子:
{
"region" : "EUW",
"players" : [
{
"position" : 2,
"summoner_id" : 123456,
"game_won": 1
},
{
"position" : 1,
"summoner_id" : 123459,
"game_won": 0
},
{
"position" : 3,
"summoner_id" : 123458,
"game_won": 1
},
{
"position" : 4,
"summoner_id" : 123457,
"game_won": 0
}
]
}
具有多个文档的这个样子,我需要找到的howmany次summoner_id 123456已经有2位或任何其他位置的1-6和的howmany时间没有他在那个位置
索引需要是对区域可查询取胜,summoner_id
结果会是什么样子
{
"positions" :
[
{ "position" : 1,
"total" : 123,
"won" : 65
},
{ "position" : 2,
"total" : 37,
"won" : 10
}
]
}
我现在有
地图
from game in docs.Games
from player in game.Players
select new {
player.position,
player.summoner_id,
game.region,
PosCounter = 1,
WonCounter = player.game_won == 1 ? 1 : 0
}
减少
from result in results
group result by result.Position into g
select new {
g.Key.position,
g.Key.summoner_id,
g.Key.region,
PosCounter = g.Sum(x => x.PosCounter),
WonCounter = g.Sum(x => x.WonCounter)
}