Mongodb 我应该使用ObjectID还是uid(由我自己实现)来标识用户?
我不熟悉Mongodb 我应该使用ObjectID还是uid(由我自己实现)来标识用户?,mongodb,user-identification,database,Mongodb,User Identification,Database,我不熟悉mongodb和数据库。 实现一个函数以生成uid并使用本地ObjectId。 哪个更好?您应该让客户机/驱动程序生成ObjectID。这确保生成的ID在许多事情中是唯一的,比如时间、服务器和进程。使用标准ObjectID还意味着由驱动程序实现的方法(如getTimestamp())可以工作 但是,如果您正在考虑为_ID字段使用自己的ID类型(即,不是标准的ObjectID类型),那么这是一个可行的选择。例如,如果您想存储关于twitter用户的信息,那么使用用户的twitter ID作
mongodb
和数据库。
实现一个函数以生成uid
并使用本地ObjectId
。
哪个更好?您应该让客户机/驱动程序生成ObjectID。这确保生成的ID在许多事情中是唯一的,比如时间、服务器和进程。使用标准ObjectID还意味着由驱动程序实现的方法(如getTimestamp())可以工作
但是,如果您正在考虑为_ID字段使用自己的ID类型(即,不是标准的ObjectID类型),那么这是一个可行的选择。例如,如果您想存储关于twitter用户的信息,那么使用用户的twitter ID作为_ID值是非常有意义的。就我个人而言,我尽可能少地依赖ObjectID类型,因为集合通常在每个文档中都有一个字段,唯一地标识每个文档。您应该让客户机/驱动程序生成ObjectID。这确保生成的ID在许多事情中是唯一的,比如时间、服务器和进程。使用标准ObjectID还意味着由驱动程序实现的方法(如getTimestamp())可以工作
但是,如果您正在考虑为_ID字段使用自己的ID类型(即,不是标准的ObjectID类型),那么这是一个可行的选择。例如,如果您想存储关于twitter用户的信息,那么使用用户的twitter ID作为_ID值是非常有意义的。就我个人而言,我尽可能少地依赖ObjectID类型,因为集合通常在每个文档中都有一个字段,唯一地标识每个文档。这取决于三个方面:
- 其来源
- 您在何处以及如何使用用户ID李>
- 个人意见李>
因此,这实际上取决于该ID的使用方式。这取决于三件事:
- 其来源
- 您在何处以及如何使用用户ID李>
- 个人意见李>
因此,这实际上取决于该ID的使用方式。假设我使用_ID(我自己的类型)并将其用作用户标识。哪一个更好,使用自动递增的
编号
或用户的日志id(唯一,字符串)。不要在客户端使用自动递增编号,因为如果同时有多个线程而没有昂贵的锁定,这将不起作用。假设我使用_id(我自己的类型)并将其用作用户标识符。哪一个更好,使用自动递增的编号
或用户的日志id(唯一,字符串)。不要在客户端使用自动递增编号,因为如果同时有多个线程而没有昂贵的锁定,这将不起作用。假设我使用_id(我自己的类型)并将其用作用户标识符。哪个更好,使用一个自动递增的数字
或用户的日志id(唯一的,字符串)。@uoryon正如我所说,这一切都取决于场景,但如果我上面说的东西不重要,那么对象id很容易提供,我使用_id(我自己的类型),我使用它作为用户标识符。哪一个更好,使用自动递增的数字
或用户的日志id(唯一,字符串)。@uoryon正如我所说,这一切都取决于场景,但如果我上面所说的内容不重要,那么对象id很容易