MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да конвертирате BSON::Timestamp в рубинено време и обратно

Можете да конвертирате BSON::Timestamp към BSON::ByteBuffer използвайки #to_bson метод.

След това можете да конвертирате BSON::ByteBuffer до цяло число (#get_int64 ), което представлява броя милисекунди от епохата.

След това използвайте Time::at за да конвертирате това цяло число в Време обект

date_time = DateTime.new(2021,8,30)
date_time.to_time
#=> 2021-08-30 00:00:00 +0000
date_time.to_time.to_i
#=> 1630281600 
timestamp = BSON::Timestamp.from_bson(date_time.to_bson)
#=> #<BSON::Timestamp:0x00007fffe31da4a8 @seconds=379, @increment=2488994816>
timestamp.to_bson.get_int64 / 1000 
#=> 1630281600
Time.at(timestamp.to_bson.get_int64 / 1000).utc
#=> 2021-08-30 00:00:00 UTC


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# Заявка за 'Like' на низ

  2. Как да коригирате MongoError:Не може да се използва сесия, която е приключила

  3. Грешки при създаване на колекция в MongoDB

  4. Грешка:querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net в QueryReqWrap.onresolve [като завършен]

  5. MongoDB, вграден в java