>  기사  >  백엔드 개발  >  mongogo 드라이버의 Mongodb 저장 및 검색

mongogo 드라이버의 Mongodb 저장 및 검색

PHPz
PHPz앞으로
2024-02-06 09:39:071004검색

mongogo 驱动程序中的 Mongodb 存储和检索

질문 내용

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제