Docs Menu
Docs Home
/ / /
Go 드라이버
/

구조체 태그 사용

고(Go) 드라이버가 구조체 태그를 사용하여 고(Go) 구조체를 BSON으로 변환하는 방식을 지정할 수 있습니다.

이 예시를 실행하는 방법에 대해 알아보려면 사용 예시를 읽어보세요.

다음 코드는 BlogPost 타입의 구조체를 선언합니다. 이 구조체에는 WordCount 필드를 BSON 필드 이름 word_count에 매핑하는 구조체 태그가 포함되어 있습니다. 기본적으로 드라이버는 다른 필드를 구조체 필드 이름의 소문자로 마셜링합니다.

type BlogPost struct {
Title string
Author string
WordCount int `bson:"word_count"`
LastUpdated time.Time
Tags []string
}

다음 예시에서는 BlogPost 인스턴스를 생성해 posts 컬렉션에 삽입합니다. 드라이버는 삽입 작업 중에 구조체 태그를 해석하여 WordCount 구조체 필드를 word_count 로 마셜링합니다.

이 예시를 실행하는 방법에 대해 알아보려면 사용 예시를 읽어보세요.

coll := client.Database("sample_training").Collection("posts")
post := BlogPost{
Title: "Annuals vs. Perennials?",
Author: "Sam Lee",
WordCount: 682,
LastUpdated: time.Now(),
Tags: []string{"seasons", "gardening", "flower"},
}
// Inserts a document describing a blog post into the collection
_, err = coll.InsertOne(context.TODO(), post)
if err != nil {
panic(err)
}

View a fully runnable 예시.

전체 예시를 실행한 후 posts 컬렉션에서 다음 문서를 찾을 수 있습니다.

{
"_id" : ObjectId("..."),
"title" : "Annuals vs. Perennials?",
"author" : "Sam Lee",
"word_count" : 682,
"lastupdated": ...,
"tags" : ["seasons", "gardening", "flower"]
}

문서를 찾는 방법에 대한 예는 문서 찾기를 참조하세요.

구조체 태그 사용, BSON으로의 변환 및 잠재적 오류 처리에 대해 자세히 알아보려면 BSON으로 작업하기를 참조하세요.

돌아가기

명령 실행