是否可以识别字符串是否被格式化为BSON ObjectID?是否可以识别字符串的格式?
对于字符串,我们可以这样做:
"hello".is_a?(String) # => true
,因为对象ID这是行不通的是一个String反正。但是有可能分析字符串以确定它是否被格式化为BSON ObjectID?
通常,ObjectID具有这种格式。
52f4e2274d6f6865080c0000
格式化标准是stated in the docs:
的ObjectId是一个12字节的BSON类型,使用构造:
表示自Unix纪元秒一个4字节的值,
一个3字节的机器标识符,
一个2字节的进程ID,以及一个3字节的计数器,从一个随机值开始。
是否有任何12字节的十六进制字符串,其*不*是有效的BSON对象ID? – Gareth
你在使用mongoid吗? – ram
@ram是的,我使用Mongoid。 –