登录
首页 >  Golang >  Go问答

如何在mongodb中删除已插入的嵌套结构中的额外键

来源:stackoverflow

时间:2024-02-17 12:27:23 430浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何在mongodb中删除已插入的嵌套结构中的额外键》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

假设这是我的结构定义,

type partialContent struct {
  key   string   `json:"key" bson"key"`
  value string   `json:"value" bson:"value"`
}

type content struct {
  id string `json:"id" bson:"_id,omitempty"`
  partialContent
}

在 MongoDB 中存储内容时,它被存储为

{
  "_id": ObjectID,
  "partialcontent": {
    "key": "...",
    "value": "..."
  }
}

但是 JSON 解组返回

{
  "_id": ObjectID,
  "key": "...",
  "value": "..."
}

如何删除 MongoDB 中的附加键 partialcontent


正确答案


首先,您需要导出结构字段,否则驱动程序将跳过这些字段。

如果您不想在 MongoDB 中嵌入文档,请使用 ,inline bson 标签选项:

type PartialContent struct {
    Key   string `json:"key" bson"key"`
    Value string `json:"value" bson:"value"`
}

type Content struct {
    ID             string `json:"id" bson:"_id,omitempty"`
    PartialContent `bson:",inline"`
}

插入该值:

v := Content{
    ID: "abc",
    PartialContent: PartialContent{
        Key:   "k1",
        Value: "v1",
    },
}

将在 MongoDB 中生成此文档:

{ "_id" : "abc", "key" : "k1", "value" : "v1" }

以上就是《如何在mongodb中删除已插入的嵌套结构中的额外键》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>