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)
}