是否可以識別字符串是否被格式化爲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。 –