dtbsezxw28056 2016-08-04 07:23
浏览 70
已采纳

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

I have this kind of documents in my mongo collection -

{
    "_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
}

So there are several brands. I can get everything, except the category in this.

My Models code data type for this is -

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"`
}

I'm taking Category to be a string array right now but of course that's wrong.

The output looks like this -

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

How should I construct this struct to be able to display the kind of data I'm getting out from the database?

  • 写回答

1条回答 默认 最新

  • duanlu1279 2016-08-04 08:32
    关注
    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"`
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效