mongodb - Revel+mgo golang - 如何定义结构类型来处理来自数据库的嵌套对象?

标签 mongodb go struct mgo revel

我的 mongo 集合中有这种文档 -

{
    "_id" : "3wPEpWwECbrTrnSbh",
    "brandId" : 45,
    "title" : "brandtitle",
    "logoImg" : "brandtitle.png",
    "category" : {
        "category 1" : [ 
            {
                "cat" : "A1 Plus Champ"
            }, 
            {
                "cat" : "A108"
            }, 
            {
                "cat" : "A6"
            },            
        ],
        "category 2" : [ 
            {
                "cat" : "something"
            }, 
            {
                "cat" : "soemthing else"
            }, 
            {
                "cat" : "something else"
            },            
        ],
    },
    "isActive" : true,
    "isOnboarded" : false,
    "serviceNumber" : 18605001492.0
}

所以有几个品牌。 我可以得到所有东西,除了这个类别。

我的模型代码数据类型是 -

type Brand struct {
    Id string           `bson:"_id" json:"_id"`
    Brandid int         `bson:"brandId" json:"brandId"`
    Title string        `json:"title"`
    Logoimg string      `bson:"logoImg" json:"logoImg"`
    Category []string   `bson:"category" json:"category"`
    Isactive bool       `bson:"isActive" json:"isActive"`
    Isonboarded bool    `bson:"isOnboarded" json:"isOnboarded"`
    Servicenumber int   `bson:"serviceNumber" json:"serviceNumber"`
}

我现在把 Category 当作一个字符串数组,但这当然是错误的。

输出看起来像这样-

  {
    "_id": "3wPEpWwECbrTrnSbh",
    "brandId": 45,
    "title": "brandtitle",
    "logoImg": "brandtitle.png",
    "category": null,
    "isActive": true,
    "isOnboarded": false,
    "serviceNumber": 18605001492
  }

我应该如何构建此结构才能显示我从数据库中获取的数据类型?

最佳答案

type Brand struct {
    Id string           `bson:"_id" json:"_id"`
    Brandid int         `bson:"brandId" json:"brandId"`
    Title string        `json:"title"`
    Logoimg string      `bson:"logoImg" json:"logoImg"`
    Category      map[string][]map[string]string   `bson:"category" json:"category"`
    Isactive bool       `bson:"isActive" json:"isActive"`
    Isonboarded bool    `bson:"isOnboarded" json:"isOnboarded"`
    Servicenumber int   `bson:"serviceNumber" json:"serviceNumber"`
}

关于mongodb - Revel+mgo golang - 如何定义结构类型来处理来自数据库的嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38760938/

相关文章:

MongoDB 自签名 SSL 连接 : SSL peer certificate validation failed

mongodb - 在 MongoDB 中,如何使用文档中的字段作为 $geoWithin/$centerSphere 表达式的输入?

memory - (*T)(nil) 和 &T{}/new(T) 有什么区别?戈朗

email - 在 Golang 中解码引用可打印的电子邮件

c# - 处理奇数场偏移

matlab - 如何从 Julia 中的字典创建结构或类型?

go - 如何将 Go 结构转换为 C 结构?

spring - Windows上的Docker,Mongodb,Spring Boot出现连接被拒绝错误

javascript - 尝试从 Node 服务器检索 json 对象时获取 "Cannot GET/"

go - 为什么我从这个简单的 Go 代码中得到这样的输出?