UNPKG

bson-ts-converter

Version:

Converts BSON timestamps to UNIX timestamps or Date objects.

42 lines (28 loc) 1.78 kB
## 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.