mgo를 사용하여 구조화되지 않은 MongoDB 컬렉션 쿼리
mgo 패키지를 사용하여 Golang의 구조화되지 않은 MongoDB 컬렉션에서 데이터를 쿼리하고 읽는 것은 어려울 수 있습니다. 미리 정의된 데이터를 처리하기 위해 구조체를 정의할 수 있지만 문서에 다양한 키 세트가 있는 경우 시나리오가 발생할 수 있습니다. 이 문서에서는 구조화되지 않은 데이터를 유연하게 처리할 수 있도록 이 문제를 해결하는 대체 방법을 제시합니다.
지도 사용
지도를 활용하여 문서의 데이터를 키로 저장할 수 있습니다. -값 쌍. 이는 다양한 키 세트를 사용하여 문서를 처리할 수 있는 유연성을 제공합니다. 예:
var m bson.M err := collection.Find(nil).One(&m) check(err) for key, value := range m { fmt.Println(key, value) }
문서 조각 사용
bson.D 유형을 사용하면 문서를 bson.Elem 객체의 조각으로 저장하여 키 순서를 유지할 수 있습니다. 이 방법은 효율성을 제공하고 키 순서를 유지합니다.
var d bson.D err := collection.Find(nil).One(&d) check(err) for i, elem := range d { fmt.Println(elem.Name, elem.Value) }
인라인 맵 필드 사용
인라인 bson 플래그를 맵 필드와 함께 사용하여 사용의 이점을 결합할 수 있습니다. 구조체 및 알 수 없는 필드 처리. 이를 통해 알려진 필드를 체계적으로 처리하는 동시에 예상치 못한 키에 대한 유연성을 제공할 수 있습니다.
type Person struct { ID bson.ObjectId `bson:"_id,omitempty"` Name string Phone string Extra bson.M `bson:",inline"` }
위 내용은 Golang의 mgo를 사용하여 MongoDB 컬렉션의 구조화되지 않은 데이터를 쿼리하고 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!