Ruby에서 MongoDB에 Insert 하게 되면 BSON::ObjectId 가 리턴된다.
예를 들어 device가 mongodb의 collection object라고 한다면
irb(main):020:0> device_id=device.insert(document)
=> BSON::ObjectId('4fa78538bd7584183d000001')
이때 device_id는 BSON::ObjectId로 24자리의 Hexa String 전환을 위해서 다음과 같이 to_s 메소드를 이용 가능하다.
irb(main):042:0> device_id.to_s
=> "4fa78538bd7584183d000001"
또한 12자리의 byte array 전환은 다음과 같이 to_a를 이용해서 가능하다.
irb(main):041:0> device_id.to_a
=> [79, 167, 133, 56, 189, 117, 132, 24, 61, 0, 0, 1]
Mongodb의 collection에서 _id로 조회하기 위해서 다음과 같은 BOSN::ObjectId 를 생성할 수 있다.
irb(main):043:0> BSON::ObjectId.new( [79, 167, 133, 56, 189, 117, 132, 24, 61, 0, 0, 1])
=> BSON::ObjectId('4fa78538bd7584183d000001')
시스템에서 default로 ID를 생성하려면
irb(main):044:0> BSON::ObjectId.new
=> BSON::ObjectId('4fa78c40bd7584183d000002')
와 같이 하면 된다.