我一直在尝试使用MongoDB来移动应用程序的某些部分。我认为像mongodb这样的基于文档的数据库非常适合锦标赛,但是我很难想出一个合适的模型。 (仍试图摆脱RDBMS教条)
任何人都有任何关于塑造Single和Double-elimination比赛括号的好方法的想法吗?
答案 0 :(得分:2)
两场锦标赛的变化基本上都归结为每场比赛,导致其中一个选项:
因此,如果您对其进行建模,以便您拥有一个与以下架构匹配的集合:
{
_id :.., <- match id
players:[playerId1, playerId2],
resultForWinner: <either "WINS_TOURNAMENT" or match id of next match>
resultForLoser: <either "EXIT_TOURNAMENT" or match id of loser bracket match
}
您可以使用此架构组合两种类型的锦标赛括号,并重复使用锦标赛逻辑,而不区分括号设置以外的其他两种。