1 回答

TA貢獻2080條經驗 獲得超4個贊
當我嘗試使用 go 獲取整個集合時,不會返回 ObjData 字段
返回嵌套字段ObjData,但未解碼為提供的結構。
這是因為該結構ObjDataType有一個值不符合返回的文檔。該結構已定義Ratio為,float64但文檔的值為0in string。
您可以通過更改結構定義或文檔值來解決此問題。即將結構更改為:
type ObjDataType struct {
Type string `json:"type,omitempty" bson:"_t,omitempty"`
CanBuy bool `json:"canbuy,omitempty" bson:"CanBuy,omitempty"`
Foreground string `json:"foreground,omitempty" bson:"Foreground,omitempty"`
Background string `json:"background,omitempty" bson:"Background,omitempty"`
HasRatio bool `json:"hasratio,omitempty" bson:"HasRatio,omitempty"`
Ratio string `json:"ratio,omitempty" bson:"Ratio,omitempty"`
HasPadding bool `json:"haspadding,omitempty" bson:"HasPadding,omitempty"`
Padding int `json:"padding,omitempty" bson:"Padding,omitempty"`
Mask MaskType `json:"mask,omitempty" bson:"Mask,omitempty"`
}
bson.M對于您的學習之旅來說,一個額外的提示是,您可以使用而不是您的結構來調試代碼的解碼部分。例如:
for cursor.Next(ctx) {
var variant bson.M
cursor.Decode(&variant)
variants = append(variants, variant)
fmt.Println(variant)
}
- 1 回答
- 0 關注
- 152 瀏覽
添加回答
舉報