Visit complete MongoDB roadmap

← Back to Topics List

BSON vs JSON

In MongoDB, data is stored in a binary format called BSON (Binary JSON), which is a superset of JSON (JavaScript Object Notation). While both BSON and JSON are used to represent data in MongoDB, they have some key differences.

BSON

BSON is a binary-encoded serialization of JSON-like documents. It is designed to be efficient in storage, traversability, and encoding/decoding. Some of its key features include:

  • Binary Encoding: BSON encodes data in a binary format, which offers better performance and allows the storage of data types not supported by JSON.
  • Support for Additional Data Types: BSON supports more data types compared to JSON, such as Date, Binary, ObjectId, and Decimal128. This makes it possible to represent diverse data more accurately in MongoDB documents.
  • Efficient Traversability: In BSON, the size of each element is encoded, which makes it easy to skip over elements, thus making the traversal faster.

JSON

JSON is a lightweight and human-readable data representation format that can be easily parsed and generated by many programming languages. It is used widely as a medium for transmitting data over the web. Some features of JSON include:

  • Human-readable: JSON is textual with a simple structure, making it easy for humans to read and write.
  • Interoperable: JSON can be easily parsed and generated by many different programming languages, making it a popular choice for data interchange between applications.
  • Limited Data Types: JSON supports fewer data types compared to BSON, such as strings, numbers, booleans, and null. This means that some data, like dates or binary data, must be represented as strings or custom objects in JSON.

Summary

While BSON and JSON are related, they serve different purposes in the context of MongoDB:

  • BSON is the binary format used by MongoDB to store and retrieve data efficiently with support for additional native data types.
  • JSON, being a more human-readable and widely used format, is typically used for data interchange between MongoDB and applications.

By using BSON internally, MongoDB can take advantage of its benefits in storage, traversability, and a richer data type representation while still providing the interoperability and readability of JSON through query interfaces and drivers.

Community

roadmap.sh is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Best Practices Guides Videos Store YouTube

roadmap.sh by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · FAQs · Terms · Privacy

ThewNewStack

The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.