gpt4 book ai didi

javascript - 用于跟踪用户分数历史记录的数据库表

转载 作者:行者123 更新时间:2023-12-03 06:13:31 27 4
gpt4 key购买 nike

我有一个数据库表User

数据库表中的每个用户都有一个字段score

我想显示用户的分数如何随时间变化。

我如何存储这个分数?我应该创建一个独立的数据库表Score,其中包含字段userIdscoretimestamp吗?

我是否仍应将排名保存在用户表中,还是将排名存储在 Score 表中就足够了?我应该有一个字段 currentScoreId 或指向分数数据库表中的行的字段吗?

我使用的是 MongoDB,所以使用关系查询并不是那么容易,但我认为将排名同时存储在单独的数据库表和用户表中似乎很愚蠢。

最佳答案

如果每个用户的分数列表不是那么大,您可能会考虑使用这样的架构:

{
userId: "String",
currentScore: { // this would be the copy of the most recent score
score: "Integer",
timeStamp: "Date"
},
scores: [ // an array of all scores of this user
{
score: "Integer",
timestamp: "Date"
},
...
]
}

MongoDB 中的数据库建模有所不同。您没有传统关系数据库中那样简单的表连接。

对于排名,您想将其另存为单独的字段吗?我认为即使使用传统数据库,也很难更新数据库中的所有排名。因此,上面我添加了一个 currentScore 字段,您可以根据该字段进行排序,并动态生成排名。

关于javascript - 用于跟踪用户分数历史记录的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com