我是mongodb
和数据库的新手。
实现一个函数来uid
并使用本地ObjectId
。
哪个更好?
答案 0 :(得分:1)
您应该将ObjectID生成留给客户端/驱动程序。这可确保生成的ID在许多内容中是唯一的,例如时间,服务器和进程。使用标准ObjectID还意味着驱动程序实现的方法(例如getTimestamp())可以正常工作。
但是,如果您正在考虑将_ em>自己的类型的ID用于_id字段(即,不是标准的ObjectID类型),那么这是一个可行的选择。例如,如果您想存储有关Twitter用户的信息,那么使用用户的Twitter ID作为_id值非常有意义。就个人而言,我尝试尽可能少地依赖ObjectID类型,因为通常集合将在每个文档中都有一个唯一标识每个文档的字段。
答案 1 :(得分:0)
这取决于三件事:
我个人认为对象ID足够好,但是回到第一点和第二点。
如果此ID出现或将用于其他数据库(如SQL数据库),您可能会发现使用递增ID是一个好主意,但SQL和其他技术人员完全支持十六进制形式的对象ID。
如果这个ID可以像帐号一样使用(当你打电话时想想你的汽车保险帐号)你可能会发现一个对象ID太难以让你的用户记住/回忆这样的更人性化的ID可能更适用于此。
所以这实际上取决于如何使用这个ID。