【问题标题】:What "UUID" and "TIMESTAMP" generator library exist for TypeScript NodeJS?TypeScript NodeJS 存在哪些“UUID”和“TIMESTAMP”生成器库?
【发布时间】:2023-02-07 01:24:56
【问题描述】:

我正在编写一个 TypeScript-NodeJS 应用程序,并希望在 NodeJS 应用程序中处理对象 ids 和 created_at TIMESTAMPS,而不是使用 MySQL 或 Cassandra 内置的 UUIDTIMESTAMP 生成器。

1- 首先我想知道在 Web 服务器应用程序中生成 idcreated_at 值而不是让数据库生成它们是个好主意吗?

2- 其次,我想知道在 NodeJS 应用程序中是否有用于生成这些值(UUIDTIMESTAMP)的常用库,或者我应该编写自己的函数?

3- 我也想知道关于这个主题的任何注意事项,比如使用什么版本的 UUID 等? (我所需要的只是为我放入 MySQL/Cassandra 数据库的每个对象生成一个 UNIQUE(如果需要的话可能是安全的?)id,还有一个通用的TIMESTAMP,我也可以在我的Flutter 前端中使用/生成它使用 DateTime` 类的应用程序)

4- 此外,我想知道生成一个由TIMESTAMP 组成的UUID version1 是否是个好主意,然后将第一部分提取为id 和 TIMESTAMPpart ascreated_at`?

【问题讨论】:

    标签: node.js typescript database timestamp uuid


    【解决方案1】:

    在我看来,

    1. 使用数据库生成唯一 ID 和时间戳通常是一个不错的选择,因为它提供了一种更可靠、更有效的方法。但是,如果您有特殊要求或限制,仍然可以在程序中处理它们。

    2. Node.js (https://www.npmjs.com/package/uuid) 中的“uuid”库是使用最广泛的用于创建 UUID 的库。 JavaScript 自带的“Date”对象可以用来创建时间戳。

    3. UUID 的第 4 版(随机)是使用最频繁的版本。出于安全原因,您可能还会考虑版本 1(基于时间)或版本 5(基于 SHA-1)。

    4. 可以创建包含时间戳的 UUID 版本 1,但这可能不是唯一标识的理想选择,因为多个对象可能具有相同的日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2021-12-13
      • 1970-01-01
      • 2016-10-23
      • 2017-06-25
      相关资源
      最近更新 更多