将结构与 mgo 结果匹配

Matching structure to mgo result

我的本地 mongodb 中有以下文档:

_id 25dd9d29-efd5-4b4e-8af0-360c49fdba31
name Reykjavik
initialDiseaseColouring blue

在我的代码中,我设置了如下城市结构:

type City struct {
    ID bson.ObjectId `bson:"_id,omitempty"`
    Name string
    InitialDiseaseColouring string
}

我正在使用

查询它
result := City{}
collection.Find(bson.M{"name":"Reykjavik"}).One(&result)

当我尝试访问 initialDiseaseColouring 属性时,它不存在

这是我打印出来的结果:

{ObjectIdHex("32356464396432392d656664352d346234652d386166302d333630633439666462613331") Reykjavik }

有人知道为什么吗?

我正在按照 https://gist.github.com/border/3489566

上的示例进行操作

默认情况下,bson编解码器使用小写的字段名称作为键。使用字段标记指定不同的键:

type City struct {
    ID bson.ObjectId `bson:"_id,omitempty"`
    Name string
    InitialDiseaseColouring string `bson:"initialDiseaseColouring"`
}

添加字段标记将键从 "initialdiseasecolouring" 更改为 "initialDiseaseColouring"。