sql >> Databáze >  >> NoSQL >> MongoDB

Jak převést BSON::Timestamp na rubínový čas a naopak

Můžete převést BSON::Timestamp do BSON::ByteBuffer pomocí #to_bson metoda.

Poté můžete převést BSON::ByteBuffer na celé číslo (#get_int64 ), která představuje počet milisekund od dané epochy.

Poté použijte Time::at převést toto celé číslo na Čas objekt

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. mongodb seskupit hodnoty podle více polí

  2. MongoDB nepoužívá /etc/mongodb.conf poté, co jsem změnil cestu dbpath

  3. Jak efektivně převést bson na json pomocí ovladače mongo-go-driver?

  4. Propojení kontejneru Redis s jiným kontejnerem (Docker)