Docs Menu
Docs Home
/ /
Atlas App Services
/

데이터 형식

이 페이지의 내용

  • 표준 JSON(application/json)
  • 표준 및 완화 EJSON(application/ejson)
  • BSON 유형
  • 배열
  • 바이너리
  • 날짜
  • Decimal128
  • 문서
  • Double
  • Int32
  • Int64
  • 최대 키
  • 최소 키
  • ObjectId
  • 정규 표현식
  • 타임스탬프

MongoDB 는 BSON 형식으로 데이터를 저장합니다. 는 구조가 JSON 객체 와 유사하지만 추가 데이터 유형을 지원하고 바이너리 인코딩을 사용합니다. BSON 은 컴퓨터에는 효율적이지만 사람이 읽을 수 없으므로 직접 작업할 수는 없습니다.

대신 데이터 API는 JSON 및 EJSON이라는 두 가지 형식을 사용하여 요청 및 응답으로 데이터를 표현합니다.

생성된 모든 데이터 API 엔드포인트와 각 사용자 지정 엔드포인트에 대해 개별적으로 단일 기본 반환 유형을 정의합니다. 수신 요청은 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"
}

생성된 모든 데이터 API 엔드포인트와 각 사용자 지정 엔드포인트에 대해 개별적으로 단일 기본 반환 유형을 정의합니다. 수신 요청은 Accept 헤더를 사용하여 기본값을 재정의하는 기본 데이터 형식을 지정할 수도 있습니다.

JSON 형식은 모든 도구가 구문 분석하고 이해할 수 있는 표준 유형을 사용합니다. 그러나 JSON은 모든 BSON types를 나타낼 수 없으므로 JSON 응답은 일부 필드에 대한 유형 정보가 손실될 수 있습니다. 예를 들어 BSON에는 32비트 정수와 64비트 실수에 대한 고유한 유형이 있지만 JSON 응답은 둘 다 number 로 나타납니다.

MongoDB Extended JSON 의 약자인 EJSON 형식은 구조화된 필드를 사용하여 해당 JSON 유형이 없는 BSON 데이터를 나타내는 표준 JSON 의 상위 집합입니다. 이는 데이터를 완전히 나타내지만 클라이언트 가 EJSON으로 작업하는 방법을 이해해야 합니다.

EJSON에는 두 가지 변형이 있습니다.

  • 표준 EJSON 은 가독성과 상호 운용성을 희생하면서 유형 보존을 강조하는 장황한 구조를 사용합니다. BSON types를 완전히 나타내지만 이를 사용하려면 라이브러리나 사용자 지정 코드를 사용해야 할 수도 있습니다.

  • 완화된 EJSON 은 읽고 작업하기 더 쉽지만 일부 BSON types의 경우 유형 정보가 손실될 수 있는 더 간결한 구조를 사용합니다. 예를 들어, 삽입된 문서의 숫자 필드는 예상과 다른 숫자 BSON type으로 유추될 수 있습니다.

요청 본문에는 표준 또는 완화 EJSON을 사용할 수 있습니다. EJSON을 반환하도록 구성된 데이터 API 엔드포인트는 항상 표준 EJSON을 반환합니다.

이 섹션에서는 Data API가 지원하는 BSON types을 나열하고 각 유형이 JSON 및 EJSON 형식으로 표현되는 방식을 보여줍니다.

EJSON
JSON

캐노니컬 EJSON

[ <elements> ]

편안한 EJSON

표준과 동일

[ <elements> ]
EJSON
JSON

캐노니컬 EJSON

{
"$binary": {
"base64": "e67803a39588be8a95731a21e27d7391",
"subType": "05"
}
}

편안한 EJSON

표준과 동일

{
"Subtype": 5,
"Data": "e67803a39588be8a95731a21e27d7391"
}
EJSON
JSON

캐노니컬 EJSON

{
"$date": {
"$numberLong": "1641954803067"
}
}

편안한 EJSON

{
"$date": "2022-01-12T02:33:23.067Z"
}
"2022-01-12T02:33:23.067Z"
EJSON
JSON

캐노니컬 EJSON

{ "$numberDecimal": "9823.1297" }

편안한 EJSON

표준과 동일

"9823.1297"
EJSON
JSON

캐노니컬 EJSON

{ <content> }

편안한 EJSON

표준과 동일

{ <content> }
EJSON
JSON

캐노니컬 EJSON

{ "$numberDouble": "10.5" }

편안한 EJSON

10.5
10.5
EJSON
JSON

캐노니컬 EJSON

{ "$numberInt": "10" }

편안한 EJSON

10
10
EJSON
JSON

캐노니컬 EJSON

{ "$numberLong": "50" }

편안한 EJSON

표준과 동일

50
EJSON
JSON

캐노니컬 EJSON

{ "$maxKey": 1 }

편안한 EJSON

표준과 동일

{}

이에 상응하는 JSON 없음

EJSON
JSON

캐노니컬 EJSON

{ "$minKey": 1 }

편안한 EJSON

표준과 동일

{}

이에 상응하는 JSON 없음

EJSON
JSON

캐노니컬 EJSON

{ "$oid":"5d505646cf6d4fe581014ab2" }

편안한 EJSON

표준과 동일

"5d505646cf6d4fe581014ab2"
EJSON
JSON

캐노니컬 EJSON

{
"$regularExpression": {
"pattern":"^H",
"options":"i"
}
}

편안한 EJSON

표준과 동일

{
"Pattern": "^H",
"Options": "i"
}
EJSON
JSON

캐노니컬 EJSON

{
"$timestamp": {
"t":1565545664,
"i":1
}
}

편안한 EJSON

표준과 동일

{
"T": 1565545664,
"I": 1
}

돌아가기

데이터 API 요청 인증