AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

문서 데이터 형식: BSON

이 가이드에서는 BSON 데이터 형식, MongoDB가 이를 사용하는 방법, Java 드라이버와 독립적으로 BSON 라이브러리를 설치하는 방법에 대해 알아볼 수 있습니다.

BSON 또는 Binary JSON은 MongoDB가 데이터를 구성하고 저장하는 데이터 형식입니다. 이 데이터 형식에는 모든 JSON 데이터 구조 유형이 포함되며, 날짜, 다른 크기의 정수, ObjectId 값 및 바이너리 데이터 등 다른 유형도 지원합니다. 지원되는 유형의 전체 목록은 MongoDB Server 매뉴얼의 BSON Types 페이지를 참조하세요.

바이너리 형식은 사람이 읽을 수 없지만 Java BSON 라이브러리를 사용하여 JSON 표현으로 변환할 수 있습니다. 이러한 형식 간의 관계에 대한 자세한 내용은 JSON 및 BSON 문서를 참조하세요.

BSON 라이브러리를 사용하는 Java 드라이버를 사용하면 BSON 인터페이스를 구현하는 Realm 객체 유형 중 하나를 사용하여 BSON 데이터로 작업할 수 있습니다.. 다음 유형은 BSON 인터페이스를 구현합니다:

이 섹션에서는 BSON 라이브러리를 프로젝트에 종속성으로 추가하는 방법을 설명합니다. Java 드라이버를 프로젝트에 종속성으로 추가한 경우, BSON 라이브러리가 이미 드라이버의 필수 종속성으로 포함되어 있으므로 이 단계를 건너랄실 수 있습니다. Java 드라이버를 프로젝트에 종속성으로 추가하는 방법에 대한 지침은 Java 드라이버 시작하기 가이드를 참조하세요.

BOM

드라이버 아티팩트의 버전을 관리 하려면 JVM 드라이버 BOM(Bill of Material)을 애플리케이션 에 추가하는 것이 좋습니다. 이렇게 하면 BOM이 적용되는 개별 패키지 의 버전을 지정할 필요가 없으므로 종속성 관리 간소화됩니다. 자세한 학습 은 Java 드라이버 시작하기 가이드 참조하세요.

프로젝트의 종속성을 관리 하려면 Maven 또는 Gradle 빌드 자동화 도구를 사용하는 것이 좋습니다. 다음 탭에서 선택하여 해당 도구에 대한 종속성 선언을 확인합니다.

다음 스니펫은 pom.xml 파일의 dependencies 섹션에 있는 종속성 선언을 보여 줍니다.

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
</dependency>
</dependencies>

다음 스니펫은 build.gradle 파일의 dependencies 객체에 있는 종속성 선언을 보여 줍니다.

dependencies {
compile 'org.mongodb:bson'
}

앞의 도구 중 하나를 사용하지 않는 경우, sonatype 리포지토리에서 직접 JAR 파일 다운로드하여 프로젝트에 포함할 수 있습니다.

이 섹션에서는 BSON 데이터 형식을 사용할 때 발생할 수 있는 질문에 대한 답변을 제공합니다.

형식이 잘못된 문서 작업에 전달하고 Java 운전자 v4.7 이전 버전을 사용하는 경우 애플리케이션 이 예외가 발생할 수 있습니다.

참고

드라이버 버전 v4.8 이상에서는 이 오류 메시지가 잘못 포맷된 내용에 대한 보다 구체적인 세부 정보를 포함하는 메시지로 대체되었습니다.

예를 들어 다음 코드 예제와 같이 업데이트 작업을 호출하고 업데이트 연산자를 잘못 생략하면 드라이버에서 이 오류가 발생합니다.

// incorrectly formatted update document
collection.updateOne(
new Document().append("name", "fizz"),
new Document().append("name", "buzz")
);

이 오류를 방지하려면 적절한 작업에 빌더 클래스를 사용하세요. 이 운전자 MongoDB 작업에 구문적으로 올바른 BSON 생성할 수 있는 빌더 클래스를 제공합니다. 앞의 예시 다음 코드 예시 와 같이 빌더 클래스를 사용하여 올바르게 표현할 수 있습니다.

// Builder class imports
import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Updates.*;
// ...
collection.updateOne(eq("name", "fizz"), set("name", "buzz"));

사용 가능한 빌더 클래스에 대해 자세히 학습 빌더 가이드 참조하세요.