使用 mgo 检索嵌套文档

retrieve a nested document with mgo

我需要使用 mgo 在 mongoDB 中检索嵌套文档。
这是我在数据库中的文档:

{
    "_id" : "packing_type_0000",
    "name" : "packing",
    "category" : "logistics",
    "en" : {
            "translatedName" : "Packing and Order Prep",
    },
}

这是我的 golang 结构:

type jobTypeWording struct {
     translatedName     string `json:"translatedName" bson:"translatedName"`
}

type jobType struct {
    ID               string         `json:"_id" bson:"_id"`
    Name             string         `json:"name" bson:"name"`
    Category         string         `json:"category" bson:"category"`
    en               jobTypeWording `json:"en" bson:"en"`
}

我的代码:

result := jobType{}
sessionCopy := session.Copy()
defer sessionCopy.Close()
c := sessionCopy.DB(os.Getenv("DB_DATABASE")).C("jobTypes")
err := c.Find(bson.M{"_id": Id}).One(&result)  
fmt.Println(result.en)

我的程序程序输出:

{  }

如何检索 en.translatedName

在同一个程序中,我从 mongo 获得了其他嵌套的 bson,并且它以相同的方式工作。我不明白我的错误。

我找到了解决方案,因为我的字段 en 以小写开头。如果我将 en 更改为 En,将 translatedName 更改为 TranslatedName,就可以了。
这里有更多细节answer