无法解码来自MongoDB的嵌入文档(嵌套)

问题描述 投票:0回答:1

我需要从MongoDB获取文档并将其放入具有自定义类型的结构中。

type translate_t struct {
    Sources     []string    `bson:"sources"`
    Targets     []string    `bson:"targets"`
}

type practice_t struct {
    Id              primitive.ObjectID  `bson:"_id"`
    Translate       translate_t         `bson:"translate"`
}

数据库中的数据符合预期。

"practice": {
    "translate": {
         "sources": ["data", "more data"]
         "target": ["even", "more", "data"]
    }       
}

我做什么(非常基础):

var item practice_t
err = collection.FindOne(ctx, filter).Decode(&item)
log.Printf("item:%+v", item)

日志显示此:

{Id:ObjectId("5deeblablabla"), Translate:{Sources:[] Targets:[]}} //where is my sweet data?

现在,我想指出所有其他项目(未嵌套自定义结构)正确解码]。因此,在我看来,Decode()函数不喜欢自定义结构...这看起来很普通,所以我有什么遗漏吗?我一直在阅读有关覆盖默认Decoder或类似内容的信息,但是对于这种简单的内容来说,这似乎太多了。

我需要从MongoDB获取文档并将其放入具有自定义类型的结构中。类型translate_t struct {Sources [] string`bson:“ sources”`Targets [] string`bson:“ targets”`} ...

mongodb go decode bson
1个回答
2
投票

您缺少“练习”:

© www.soinside.com 2019 - 2024. All rights reserved.