bson-ts-converter

Converts BSON timestamps to UNIX timestamps or Date objects.

Usage no npm install needed!

<script type="module">
  import bsonTsConverter from 'https://cdn.skypack.dev/bson-ts-converter';
</script>

README

Description

This module allows to convert BSON timestamps to UNIX timestamps or JavaScript date objects. BSON timestamps come from the MongoDB driver and represent an unsigned 64 bit integer. Encoded is a UNIX timestamp and the number of the corresponding operation. However, these two values are not accessible in an intuitive way. See definition of BSON timestamps.

Installation

npm install bson-ts-converter

Usage

Please consider that the timestamp needs to be a BSON timestamp created by the node MongoDB driver. With this module you can easily extract the needed information:

var mongo = require('mongodb');
var bConv = require('bson-ts-converter');
var timestamp = mongo.Timestamp.fromNumber(6342103456945274883);
console.log(bConv.pretty(timestamp)); // Timestamp(1476636030, 0)
console.log(bConv.getSeconds(timestamp)); // 1476636030
console.log(bConv.getOperations(timestamp)); // 0
console.log(bConv.getDate(timestamp)); // depending on local settings

Functions

pretty(timestamp)

Prints the timestamp in a readable way. Example: Timestamp(1476636030, 3)

getSeconds(timestamp)

Returns the UNIX timestamp.

getOperations(timestamp)

Returns the operation number. See definition of BSON timestamps.

toObject(timestamp)

Returns an object, containing the UNIX timestamp and the operation number: Example: {ts: 1476636030, op: 3}

toDate(timestamp)

Returns a JavaScript Date object representing the UNIX timestamp.