MongoDB Bson Tutorial: What is BSON and How is It Different from JSON?

BSON (Binary JSON) is a binary-encoded serialization of JSON-like documents used in MongoDB databases. This article provides an overview of BSON, the binary data format used by MongoDB to store documents.

David Demir

David Demir

17 May 2025

MongoDB Bson Tutorial: What is BSON and How is It Different from JSON?

BSON (Binary JSON) is a binary-encoded serialization of JSON-like documents used in MongoDB databases. This article provides an overview of BSON, the binary data format used by MongoDB to store documents.

It explains what BSON is, how it extends JSON capabilities and key differences between BSON and JSON. In addition, it includes how Apidog handles this automatically. It also shows examples of basic CRUD operations and database commands using Apidog to interact with MongoDB.

button

What is Bson in MongoDB?

BSON (Binary JSON) is the primary data format used in MongoDB databases. Some key things to know about BSON in MongoDB:

Structure of a BSON Document

BSON (Binary JSON) is a binary-encoded serialization of JSON-like documents used in MongoDB databases. A BSON document contains ordered field-value pairs similar to JSON objects.

The fields can be any valid UTF-8 strings, while values can be one of several BSON data types like string, integer, double, binary data, array, document, boolean, date, null, etc. The structure of a BSON document starts with a 4-byte integer indicating the total document size.

Next is a field-value pair containing the "_id" field which uniquely identifies the document. The document content follows with each field-value pair encoded in a specific binary format based on the data type.

An example showing the structure of a BSON document:

// Sample BSON document
{
  _id: ObjectId("507f1f77bcf86cd799439011"), // 12-byte unique ID
  name: "John Doe", // String
  age: 35, // Integer
  address: { // Embedded document
    street: "123 Main St",
    city: "Anytown", 
    state: "CA"
  },
  hobbies: ["reading", "hiking","swimming"], // Array
  graduated: true, // Boolean
  birthday: ISODate("1980-05-15T00:00:00Z"), // Date
  data: BinData(0, "SGVsbG8gV29ybGQ="), // Binary data
  ts: Timestamp(1590583045633, 1) // Timestamp
}

Key things to note:

What is the difference between JSON and BSON?

Here are the main differences between JSON and BSON:

Conversion JSON and BSON in MongoDB with Apidog

Apidog is an API toolkit that simplifies API development. It offers MongoDB as one of its integrated database choices. By using MongoDB with Apidog, you can store API mocks and tests in MongoDB as the backend.

The mock API responses delivered by Apidog can be driven by data stored in a MongoDB database. This allows Apidog to leverage MongoDB as the persistent data source for mocked APIs. Next, we will explain the relation of JSON and BSON with you.

button

MongoDB stores data as BSON documents, which can be seen as a superset of JSON. When operating MongoDB database with Apidog, JSON is used to compose the content. Apidog will automatically map each field to the corresponding BSON data type based on the actual JSON content.

One special case is the _id field. According to MongoDB conventions, each document must have an _id field as the primary key, with ObjectId as the default data type instead of string.

With Apidog, to declare an _id field of ObjectId type, use the regular string format. If the string content conforms to the ObjectId format, Apidog will automatically map it to BSON's ObjectId type.

For example, in MongoDb there is a BSON document like:

Copy code
{
    _id: ObjectId('654e056de3662b1c09477cc3
'),
    name: "Apidog"
}

Then to query this document by _id with Apidog, the JSON to put in the "Query Condition" would be:

Copy code
{
    "_id": "654e056de3662b1c09477cc3"
}
MongoDB

Explore more

How Much Does Claude API Cost in 2025

How Much Does Claude API Cost in 2025

Anthropic Claude has emerged as a powerful and versatile large language model (LLM), captivating developers and businesses with its advanced reasoning, creativity, and commitment to safety. As with any powerful tool, understanding the associated costs is paramount for effective implementation and sustainable innovation. This comprehensive tutorial will guide you through the intricacies of Claude API pricing, empowering you to make informed decisions and accurately forecast your expenses as you h

8 June 2025

How to Fix "Due to unexpected capacity constraints, Claude is unable to respond to your message" Error

How to Fix "Due to unexpected capacity constraints, Claude is unable to respond to your message" Error

It's a frustration familiar to many users of cutting-edge AI: you're deep in a productive workflow with Anthropic's Claude, crafting the perfect prompt, only to be met with the abrupt and unhelpful message: "Due to unexpected capacity constraints, Claude is unable to respond to your message. Please try again soon." This digital roadblock can halt creativity and productivity in their tracks, leaving users wondering what went wrong and how to get back on course. This comprehensive guide will delve

8 June 2025

A Developer's Guide: How to Generate API Specifications with Vercel v0 Workflows

A Developer's Guide: How to Generate API Specifications with Vercel v0 Workflows

In the fast-paced world of web development, efficiency and clarity are paramount. As projects grow in complexity, so does the need for well-defined APIs. A clear API specification acts as a contract between the frontend and backend, ensuring seamless communication and a smoother development process. But creating these specifications can be a tedious and time-consuming task. Enter Vercel's v0, an AI-powered tool designed to streamline the development workflow. While v0 is known for its ability t

7 June 2025

Practice API Design-first in Apidog

Discover an easier way to build and use APIs