APIPlatform

replaced by organizationContent to support and extend the book published through Packt Publishing & provide general API information - order the book from [Packt](bit.ly/APIP-CS) or Amazon Edit

View the Project on GitHub APIPlatform-Book/APIPlatform

BSON parser

If you don’t yet know what BSON actually is, read the spec.

The browser version of the BSON parser is compiled using webpack and the current version is pre-compiled in the browser_build directory. To build a new version perform the following operation.

npm install
npm run build

A simple example of how to use BSON in the browser:

<script src="./browser_build/bson.js"></script>

<script>
  function start() {
    // Get the Long type
    var Long = BSON.Long;
    // Create a bson parser instance
    var bson = new BSON();

    // Serialize document
    var doc = { long: Long.fromNumber(100) }

    // Serialize a document
    var data = bson.serialize(doc)
    // De serialize it again
    var doc_2 = bson.deserialize(data)
  }
</script>

A simple example of how to use BSON in node.js:

// Get BSON parser class
var BSON = require('bson')
// Get the Long type
var Long = BSON.Long;
// Create a bson parser instance
var bson = new BSON();

// Serialize document
var doc = { long: Long.fromNumber(100) }

// Serialize a document
var data = bson.serialize(doc)
console.log('data:', data)

// Deserialize the resulting Buffer
var doc_2 = bson.deserialize(data)
console.log('doc_2:', doc_2)

Installation

npm install bson

API

BSON types

For all BSON types documentation, please refer to the documentation for the mongodb driver.

https://github.com/mongodb/node-mongodb-native

BSON serialization and deserialiation

new BSON() - Creates a new BSON seralizer/deserializer you can use to serialize and deserialize BSON.

BSON.serialize

The BSON serialize method takes a javascript object and an optional options object and returns a Node.js Buffer.

BSON.serializeWithBufferAndIndex

The BSON serializeWithBufferAndIndex method takes an object, a target buffer instance and an optional options object and returns the end serialization index in the final buffer.

BSON.calculateObjectSize

The BSON calculateObjectSize method takes a javascript object and an optional options object and returns the size of the BSON object.

BSON.deserialize

The BSON deserialize method takes a node.js Buffer and an optional options object and returns a deserialized Javascript object.

BSON.deserializeStream

The BSON deserializeStream method takes a node.js Buffer, startIndex and allow more control over deserialization of a Buffer containing concatenated BSON documents.