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 关注
- 117 浏览
添加回答
举报