为什么将 email-verification-token/secret-code 存储在数据库中而不是数组中? NodeJs、Express、打字稿

Why store email-verification-token/secret-code in database and not array? NodeJs, Express, Typescript

我正在构建一个需要注册和登录的应用程序,所以我需要在注册后验证邮箱。创建用户后,我想在 get 请求中发送带有 jwt 的激活邮件。成功确认电子邮件和令牌未过期后,用户已登录。

我的问题是为什么我不应该将本地 jwt 存储在数组中并进行验证 请求检查令牌是否有效,然后将其从数组中删除并设置用户注册状态为真?

将token存放在数据库中的某个table中,验证成功后又将其删除,对我有什么好处吗?或者我根本不应该删除它吗?

 const token = jwt.sign(
      {
        email: loadedUser.email,
        userId: loadedUser._id.toString(),
      },
      "somesupersecretkey",
      { expiresIn: "1h" }
    );
    res.status(200).json({ token: token, userId: loadedUser._id.toString() });

无需将token存储在数据库中的某个table中,验证成功后还可以设置其超时...