'Computer/데이터베이스'에 해당되는 글 9건

  1. 2012.05.07 Ruby MongoDB Driver BSON 이용
반응형

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')


와 같이 하면 된다.

반응형
Posted by alias
,