MongoDB Bson 튜토리얼: BSON이란 무엇이며 JSON과 어떻게 다른가요?

BSON(이진 JSON)은 MongoDB 데이터베이스에서 사용되는 JSON 유사 문서의 이진 인코딩 직렬화입니다. 이 글에서는 문서를 저장하기 위해 MongoDB에서 사용하는 이진 데이터 형식인 BSON에 대한 개요를 제공합니다.

Young-jae

Young-jae

12 June 2025

MongoDB Bson 튜토리얼: BSON이란 무엇이며 JSON과 어떻게 다른가요?

BSON (Binary JSON)은 MongoDB 데이터베이스에서 사용되는 JSON 유사 문서의 이진 인코딩 직렬화입니다. 이 문서에서는 BSON과 MongoDB에서 문서를 저장하는 데 사용되는 이진 데이터 형식에 대한 개요를 제공합니다.

BSON이 무엇인지, JSON의 기능을 어떻게 확장하는지 및 BSON과 JSON의 주요 차이점에 대해 설명합니다. 또한 Apidog 가 이를 자동으로 처리하는 방법을 포함합니다. 마지막으로 MongoDB와 상호 작용하기 위해 Apidog를 사용하여 기본 CRUD 작업 및 데이터베이스 명령의 예를 보여줍니다.

버튼

MongoDB에서 BSON이란?

BSON (Binary JSON)은 MongoDB 데이터베이스에서 사용되는 주요 데이터 형식입니다. MongoDB에서 BSON에 대해 알아야 할 몇 가지 주요 사항:

BSON 문서의 구조

BSON (Binary JSON)은 MongoDB 데이터베이스에서 사용되는 JSON 유사 문서의 이진 인코딩 직렬화입니다. BSON 문서는 JSON 객체와 유사한 순서 있는 필드-값 쌍으로 구성됩니다.

필드는 유효한 UTF-8 문자열일 수 있으며, 값은 문자열, 정수, 더블, 이진 데이터, 배열, 문서, 부울, 날짜, null 등 여러 BSON 데이터 유형 중 하나일 수 있습니다. BSON 문서의 구조는 전체 문서 크기를 나타내는 4바이트 정수로 시작합니다.

다음으로 "_id" 필드를 포함하는 필드-값 쌍이 있으며, 이 필드는 문서를 고유하게 식별합니다. 문서 내용은 데이터 유형에 따라 특정 이진 형식으로 인코딩된 각 필드-값 쌍으로 이어집니다.

BSON 문서 구조를 보여주는 예:

// 샘플 BSON 문서
{
  _id: ObjectId("507f1f77bcf86cd799439011"), // 12바이트 고유 ID
  name: "John Doe", // 문자열
  age: 35, // 정수
  address: { // 내장 문서
    street: "123 Main St",
    city: "Anytown", 
    state: "CA"
  },
  hobbies: ["reading", "hiking","swimming"], // 배열
  graduated: true, // 부울
  birthday: ISODate("1980-05-15T00:00:00Z"), // 날짜
  data: BinData(0, "SGVsbG8gV29ybGQ="), // 이진 데이터
  ts: Timestamp(1590583045633, 1) // 타임스탬프
}

유의할 주요 사항:

JSON과 BSON의 차이점은 무엇인가요?

JSON과 BSON의 주요 차이점은 다음과 같습니다:

Apidog로 MongoDB에서 JSON과 BSON 변환하기

Apidog는 API 개발을 간소화하는 API 툴킷입니다. 통합 데이터베이스 선택 중 하나로 MongoDB를 제공합니다. Apidog와 함께 MongoDB를 사용하면 API 모의 및 테스트를 백엔드로 MongoDB에 저장할 수 있습니다.

Apidog에서 제공하는 모의 API 응답은 MongoDB 데이터베이스에 저장된 데이터를 기반으로 제공될 수 있습니다. 이는 Apidog가 모의 API에 대한 영구 데이터 소스로 MongoDB를 활용할 수 있게 합니다. 다음으로 JSON과 BSON의 관계에 대해 설명하겠습니다.

버튼

MongoDB는 데이터를 BSON 문서로 저장하는데, 이는 JSON의 상위 집합으로 볼 수 있습니다. Apidog와 함께 MongoDB 데이터베이스를 사용할 때, JSON은 내용을 구성하는 데 사용됩니다. Apidog는 실제 JSON 내용에 따라 각 필드를 해당 BSON 데이터 유형에 자동으로 매핑합니다.

하나의 특별한 경우는 _id 필드입니다. MongoDB 관례에 따라, 각 문서는 기본 키로서 _id 필드를 가져야 하며, 기본 데이터 유형으로 ObjectId를 사용합니다.

Apidog를 사용하면 ObjectId 유형의 _id 필드를 선언할 때 일반 문자열 형식을 사용하십시오. 문자열 내용이 ObjectId 형식에 부합하는 경우, Apidog는 이를 BSON의 ObjectId 유형으로 자동으로 매핑합니다.

예를 들어, MongoDB에는 다음과 같은 BSON 문서가 있습니다:

코드 복사
{
    _id: ObjectId('654e056de3662b1c09477cc3
'),
    name: "Apidog"
}

그런 다음 Apidog로 _id로 이 문서를 쿼리하려면 "쿼리 조건"에 넣어야 할 JSON은 다음과 같습니다:

코드 복사
{
    "_id": "654e056de3662b1c09477cc3"
}
MongoDB

Explore more

Ollama 사용법: Ollama를 이용한 로컬 LLM 완전 초보 가이드

Ollama 사용법: Ollama를 이용한 로컬 LLM 완전 초보 가이드

인공지능의 세계는 끊임없이 발전하고 있으며, 대규모 언어 모델(LLM)은 점점 더 강력해지고 접근성이 높아지고 있습니다. 많은 사람들이 클라우드 기반 서비스를 통해 이러한 모델과 상호작용하지만, 개인 컴퓨터에서 직접 실행하는 데 초점을 맞추는 움직임이 커지고 있습니다. 바로 여기서 Ollama가 등장합니다. Ollama는 Llama 3, Mistral, Gemma, Phi 등 최첨단 LLM을 로컬에서 다운로드, 설정 및 실행하는 복잡한 과정을 획기적으로 단순화하도록 설계된 강력하면서도 사용자 친화적인 도구입니다. 이 포괄적인 가이드는 설치 및 기본 사용법부터 고급 사용자 지정, API 사용 및 필수 문제 해결까지 Ollama를 시작하는 데 필요한 모든 것을 안내합니다. 로컬 LLM을 애플리케이션에 통합하려는 개발자, 다양한 아키텍처를 실험하려는 연구원, 또는 오프라인에서 AI를 실행하는 데 관심이 있는 애호가이든 관계없이 Ollama는 간소화되고 효율적인 플랫폼을 제공합니다. �

28 April 2025

Swagger UI 한국어 무료 다운로드 위치

Swagger UI 한국어 무료 다운로드 위치

Swagger UI 한국어 인터페이스를 얻는 것의 어려움을 탐색하고 Apidog이 API 개발을 위한 강력한 플랫폼 대안인 이유를 알아보세요.

23 April 2025

무료 한국어 Postman 다운로드 방법

무료 한국어 Postman 다운로드 방법

Postman 한국어 버전을 무료로 다운로드할 수 있나요? Postman은 한국어를 네이티브로 지원하지 않지만, 해결 방법은 있습니다. 이 방법들을 살펴보고 언어에 관계없이 전체 API 워크플로우를 간소화하도록 설계된 강력하고 통합된 Postman 대안인 Apidog을 발견하십시오.

22 April 2025

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요