sql >> Database >  >> NoSQL >> MongoDB

Hoe BSON::Timestamp naar ruby-tijd te converteren en vice versa

U kunt een BSON::Timestamp converteren naar een BSON::ByteBuffer met behulp van de #to_bson methode.

U kunt dan de BSON::ByteBuffer . converteren naar een geheel getal (#get_int64 ) dat staat voor het aantal milliseconden sinds het tijdperk.

Gebruik dan Time::at om dat gehele getal om te zetten in een Time voorwerp

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-client

  2. Aan de slag met CouchDB

  3. Voeg meerdere waarden toe met de $addToSet Mongo-operator

  4. Hoe stringarray naar string te converteren door de inhoud van array als door komma's gescheiden waarden in MongoDB 4.0 te houden