将结构与 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 }
有人知道为什么吗?
上的示例进行操作
默认情况下,bson编解码器使用小写的字段名称作为键。使用字段标记指定不同的键:
type City struct {
ID bson.ObjectId `bson:"_id,omitempty"`
Name string
InitialDiseaseColouring string `bson:"initialDiseaseColouring"`
}
添加字段标记将键从 "initialdiseasecolouring" 更改为 "initialDiseaseColouring"。
我的本地 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 }
有人知道为什么吗?
上的示例进行操作默认情况下,bson编解码器使用小写的字段名称作为键。使用字段标记指定不同的键:
type City struct {
ID bson.ObjectId `bson:"_id,omitempty"`
Name string
InitialDiseaseColouring string `bson:"initialDiseaseColouring"`
}
添加字段标记将键从 "initialdiseasecolouring" 更改为 "initialDiseaseColouring"。