mongo go 드라이버를 사용하여 mongodb에서 데이터를 삽입하고 해당 데이터를 읽으려고 합니다. 데이터 필드가 있는 구조를 사용하고 있습니다. 데이터 유형을 인터페이스로 사용하면 여러 개의 맵이 생성되고 이를 맵 조각으로 지정하면 단일 맵이 반환됩니다. mongodb의 데이터도 비슷합니다.
으아아아인터페이스만 사용하는 경우
지도 타일을 사용할 때
두 경우 모두에 저장된 데이터는 유사합니다.
데이터에 액세스하려고 할 때 데이터 불일치가 발생하는 이유는 무엇입니까?
interface{}
을 사용한다는 것은 mongodb에서 도착하는 데이터를 가장 잘 표현한다고 생각되는 데이터 유형을 선택하도록 드라이버에 맡기는 것을 의미합니다.
[]map[string]interface{}
을 사용하면 각 맵이 문서를 나타낼 수 있는 맵 조각을 원한다는 것을 명시적으로 나타냅니다.
interface{}
时,您什么也不说。驱动程序将选择 bson.a
来表示数组,并选择 bson.d
를 사용하면 아무 말도 하지 않습니다. 드라이버는 배열을 나타내기 위해 bson.a
를 선택하고 문서를 나타내기 위해
bson.a
a> 只是一个 [] 接口{}
,并且 bson.d
是 []e
其中 e
으아아아
bson.d
그래서 기본적으로
interface{}
时,您会得到一片切片,而不是多个地图。不打印类型信息,fmt
따라서
fmt
패키지는 대괄호로 묶인 슬라이스와 맵을 인쇄합니다. 종류를 보고 싶으시면 이렇게 인쇄하세요:
으아아아
[]map[string]接口{}
사용 시 출력
으아아아
interface{}
사용 시 출력
위 내용은 mongogo 드라이버의 Mongodb 저장 및 검색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!