sequelize 以创建更好的数据库结构

sequelize to create better database structure

我正在尝试为类似于 netflix 的项目考虑一个数据库。您可以在多台设备上登录,每台设备都有一个令牌。

问题是我想不出关系数据库的结构。

我是在 mongodb 上创建的,我的结构是这样的:

{
  user: 'name',
  etc...
  tokens: [{
    token: 'asdasijdoaisjd',
    token: 'sodjio2n'
  }]
}

所以是的......每次用户登录时都会将一个新令牌添加到数据库中,当他从一个地方注销时,一个令牌会被删除。

如何在关系数据库中创建类似的东西?

有两种方法可以做到这一点

  1. 在您的用户 table 中添加一个名为 tokens 的列,并将所有标记保存为 JSON 数据

  2. [Recomended] 创建一个名为 users_tokens 的新 table 并在用户与令牌之间建立对多关系table 并在 users_tokens table 中添加一个名为 user_id 的列以轻松获取属于 user

    的所有标记

最后,你可以阅读如何实现 one-to-many 与 sequelize 的关系 here