我是RavenDB的新手,我仍然努力想方设法为当前场景建立数据模型。这里是数据的样子。如何在RavenDB中建立足球比赛统计数据模型
Game
- Teams
- Team 1
- list of players
- Team 2
- list of players
- Events
- Event 1
- type: Pass
- teamId
- PlayerId
- Event 2
- type: Goal
- teamId
- PlayerId
在每场比赛开始时,我们得到的游戏(例如团队,地点等),然后每隔几分钟我们得到事件的更新列表的整体信息。 另外,我需要能够查询特定玩家在游戏中的数据(例如玩家有多少次传球)
我是否将其作为单个文档存储?我是否将事件分成单独的文档GameEvents?有第三种情况吗?
如果你使用这种方法,对于大部分统计数据,你最好加载整个文档(代表1个游戏),在内存中处理它,然后将其写回到文档中。对于横跨多个游戏的统计数据,您可能需要查看Map/Reduce – 2012-02-27 17:22:56
Matt这听起来像个好主意。为了清楚我是否想计算玩家的通行证,我会加载游戏文档,进行计算并再次保存。 – marto 2012-02-27 22:39:55
@Matro,是的,这是想法,虽然有很多这样做的开销,所以修补可能会帮助你。 http://ravendb.net/docs/client-api/partial-document-updates – 2012-02-28 00:58:00