【问题标题】:Matching structure to mgo result将结构与 mgo 结果匹配
【发布时间】:2016-07-13 11:55:10
【问题描述】:

我的本​​地 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上的示例

【问题讨论】:

    标签: mongodb go mgo


    【解决方案1】:

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

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

    字段标签的添加将键从“initialdiseasecolouring”更改为“initialDiseaseColouring”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多