MongoDB は、 BSON という形式でデータを保存します。BSON オブジェクトの構造はJSONオブジェクトと似ていますが、追加のデータ型をサポートし、バイナリ エンコーディングを使用します。 BSONはコンピューターに対しては効率的ですが、人間が判読できないため、直接操作することはできません。
代わりに、データ API は、リクエストと応答のデータを表すために JSON と EJSON の 2 つの形式を使用します。
すべての生成済み Data API エンドポイントに対して 1 つのデフォルトの戻り値の型を定義し、カスタム エンドポイントごとに個別に定義します。 受信リクエストでは、  Acceptヘッダーを使用してデフォルトを上書きする優先データ形式を指定することもできます。
例
このドキュメントは、JSON または EJSON で表現でき、JSON と EJSON で表現される BSON types を示しています。
{    "Name": "Mango",    "Year": { "$numberLong": "2022" },    "Weight": { "$numberDecimal": "9823.1297" },    "Date": { "$date": { "$numberLong": "1641954803067" } } } 
{    "Name": "Mango",    "Year": 2022,    "Weight": "9823.1297",    "Date": "2022-01-12T02:33:23.067Z" } 
すべての生成済み Data API エンドポイントに対して 1 つのデフォルトの戻り値の型を定義し、カスタム エンドポイントごとに個別に定義します。 受信リクエストでは、 Acceptヘッダーを使用してデフォルトを上書きする優先データ形式を指定することもできます。
標準JSON (アプリケーション/ JSON )
JSON形式は、どのツールも解析して理解できる標準タイプを使用します。 ただし、JSON ではすべての BSON types を表現できないため、JSON 応答で一部のフィールドのタイプ情報が失われる場合があります。 たとえば、BSON には 32 ビット整数と 64 ビット浮動小数点数の異なるタイプがありますが、JSON 応答は両方をnumberとして表します。
標準および緩和EJSON (アプリケーション/ EJSON )
MongoDB Extended JSON の短縮形である EJSON 形式は、対応する JSON タイプがない BSON データを表すために構造化フィールドを使用する標準 JSON のスーパーセットです。これはデータを完全に表しますが、クライアントが EJSON の扱い方を理解している必要があります。
EJSON には次の 2 つのバリアントがあります。
- 標準型 EJSONは、読みやすさと相互運用性を犠牲にして、型の保存を重視した冗長な構造を使用します。 これは BSON types を完全に表しますが、それを操作するにはライブラリまたはカスタム コードを使用する必要がある場合があります。 
- 緩和型 EJSONは、読み取りと操作が簡単なより圧縮された構造を使用しますが、一部の BSON types のタイプ情報が失われる場合があります。 たとえば、挿入されたドキュメント内の数値フィールドは、予想とは異なる数値 BSON 型として推測される場合があります。 
リクエストでは、標準または緩和ベースの EJSON のいずれかを使用できます。 EJSON を返すように構成されているデータ API エンドポイントは、常に標準の EJSON を返します。
BSON types
このセクションでは、データ API がサポートする BSON types を一覧表示し、各タイプが JSON および EJSON 形式で表される方法を示します。
配列
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
バイナリ
| EJSON | JSON | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
日付
| EJSON | JSON | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON  |  | 
Decimal128
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
ドキュメント
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
Double
| EJSON | JSON | |||
|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON  |  | 
Int32
| EJSON | JSON | |||
|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON  |  | 
Int64
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
Max key
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ | 同等の JSON はありません | 
MinKey
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ | 同等の JSON はありません | 
ObjectId
| EJSON | JSON | ||
|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
正規表現
| EJSON | JSON | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  | 
タイムスタンプ
| EJSON | JSON | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 標準型 EJSON 緩和型 EJSON 標準と同じ |  |