구조체 태그 사용
고(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으로 작업하기를 참조하세요.