대문자화는 CouchDB 구조체의 데이터 저장에 영향을 미칩니다
"github.com/mikebell-org/go-couchdb" 라이브러리를 활용하여 액세스하는 경우 CouchDB에서 특이한 문제가 발생합니다. 첫 글자가 대문자인 구조체 필드만 데이터베이스에서 업데이트됩니다. inserts.
예:
type Person struct { name string Age int }
Person 인스턴스를 데이터베이스에 삽입하면:
joe := Person{ name: "mike", Age: 190, }
Age 필드만 추가됩니다. 데이터베이스. 이름과 같은 다른 소문자 필드는 생략됩니다.
동작의 이유:
이 동작은 Go 언어 사양에서 비롯됩니다. 편지는 내보내지지 않습니다. 결과적으로 JSON 직렬화 패키지(예: json)에는 명시적으로 지시된 경우에만 이러한 필드가 포함됩니다.
문제 극복:
소문자 필드를 통합하려면 데이터베이스에 JSON 태그를 활용합니다.
type Person struct { name string `json:"name"` Age int `json:"Age"` }
json 태그를 지정하면 소문자 이름 필드가 명시적으로 지정됩니다. JSON 직렬화를 위해 노출되어 데이터베이스에 지속될 수 있습니다. JSON 태그에 대한 자세한 내용은 설명서를 참조하세요.
위 내용은 go-couchdb를 사용하여 CouchDB에서 대문자로 표시된 구조체 필드만 업데이트되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!