1

我是mongodb数据库新手。实现一个函数来制作uid和使用本地ObjectId. 哪个更好?

4

2 回答 2

1

您应该将 ObjectID 的生成留给客户端/驱动程序。这确保生成的 ID 在许多事物中是唯一的,例如时间、服务器和进程。使用标准 ObjectID 还意味着驱动程序实现的方法(例如 getTimestamp())可以工作。

但是,如果您正在考虑为 _id 字段使用您自己的 ID 类型(即,不是标准的 ObjectID 类型),那么这是一个可行的选择。例如,如果您想存储有关 twitter 用户的信息,那么使用用户的 twitter ID 作为 _id 值非常有意义。就个人而言,我尽可能少地依赖 ObjectID 类型,因为集合通常在每个文档中都有一个字段,可以唯一标识每个文档。

于 2013-07-02T13:13:04.727 回答
0

这取决于三件事:

  • 它的来源
  • 您在哪里以及如何使用用户 ID?
  • 个人意见。

我个人的看法是对象ID已经足够好了,不过,回到第一点和第二点。

如果此 ID 出现或将在另一个数据库(如 SQL 数据库)中使用,您可能会发现使用递增 ID 是个好主意,但 SQL 和其他技术确实完全支持十六进制形式的对象 ID。

如果此 ID 可以像帐号一样使用(当您打电话给他们时,想想您的汽车保险帐号),您可能会发现对象 ID 太难让您的用户记住/重新计算,因为这样更人性化ID 在这里可能更适用。

因此,这实际上取决于如何使用此 ID。

于 2013-07-02T13:16:02.300 回答