> 백엔드 개발 > Golang > Go로 MongoDB를 쿼리할 때 빈 개체가 나타나는 이유는 무엇입니까?

Go로 MongoDB를 쿼리할 때 빈 개체가 나타나는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-11 18:52:11
원래의
539명이 탐색했습니다.

Why Am I Getting Empty Objects When Querying MongoDB with Go?

Go를 사용한 MongoDB 쿼리의 빈 개체

Go API 개발을 배우는 동안 mgo 패키지를 사용하여 MongoDB에서 데이터를 검색하는 데 문제가 발생할 수 있습니다. 그러한 문제 중 하나는 쿼리를 수행할 때 빈 개체를 얻는 것입니다. 이 문제를 해결하려면 Go 구조체에서 BSON 및 JSON 태그의 사용을 이해하는 것이 중요합니다.

제공된 코드에서는 사용자 구조체의 필드를 내보내거나 태그를 지정하지 않기 때문에 문제가 발생합니다. 따라서 mgo 패키지에서는 무시됩니다. 이 문제를 해결하려면 다음과 같이 첫 글자를 대문자로 만들어 필드를 내보내야 합니다.

type Users struct {
    User string `bson:"user" json:"user"`
    Data string `bson:"data" json:"data"` 
}
로그인 후 복사

기본적으로 MongoDB에서 구조체 값을 변환할 때 필드 이름이 가정됩니다. 그러나 태그를 사용하면 직렬화 및 검색을 위해 필드를 특정 이름에 매핑할 수 있습니다. 이 경우 BSON 및 JSON 필드 이름과 일치하도록 태그를 정의했습니다.

이러한 변경 후 코드는 MongoDB 컬렉션에서 비어 있지 않은 개체를 성공적으로 검색합니다. 인쇄 라인에는 올바른 사용자 데이터와 컬렉션의 메시지 수가 표시됩니다.

위 내용은 Go로 MongoDB를 쿼리할 때 빈 개체가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿