new MongoId() - 是写操作还是读操作

时间:2014-06-05 10:55:15

标签: mongodb mongoid

我正在使用mongodb和php。我想知道何时使用 new MongoId()创建一个新的mongo id。它如何咨询数据库以确保唯一ID,我的意思是它是一个写操作或读操作。

1 个答案:

答案 0 :(得分:1)

ObjectId的生成在本地发生,它不是数据库操作。 4个值用于生成ObjectId:

  • 时间:::Time.new.to_i
  • 机器ID:Digest::MD5.digest(Socket.gethostname).unpack("N")[0]
  • 进程ID:Process.pid % 0xFFFF
  • 计数器:@counter = (@counter + 1) % 0xFFFFFF

您可以找到完整的代码here