mongodb - 使用 mgo 检索嵌套文档

标签 mongodb go bson 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

关于mongodb - 使用 mgo 检索嵌套文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43677530/

相关文章:

javascript - 如何通过mongoose在mongodb中设置复合主键

c# - 使用 C# BsonArray 在 MongoDB 集合中插入多个文档

mongodb - 何时在 mongodb 中使用 BSON?

mongodb - 如何在解码 MongoDB 文档时忽略空值?

mongodb - 我应该如何使用 $in 进行 MongoTalk 查询?

python - Mongodb 或 Couchdb 与 django 构建类似于顶级编码器的应用程序?

node.js - 是否有任何查询可以通过检查 mongoDb 中嵌套嵌入文档的字段来查找文档

GO 解析嵌套的 json 数组

c++ - 在C++中使用Go

go - 我应该在包级别但在 http 处理程序之外声明变量吗?