bson-ts-converter
Version:
Converts BSON timestamps to UNIX timestamps or Date objects.
42 lines (28 loc) • 1.78 kB
Markdown
## 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.](https://docs.mongodb.com/manual/reference/bson-types/#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](https://mongodb.github.io/node-mongodb-native/api-bson-generated/timestamp.html).
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.](https://docs.mongodb.com/manual/reference/bson-types/#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.