首页 > 后端开发 > Golang > 正文

如何删除在 mongodb 中插入嵌套结构时添加的附加键

王林
发布: 2024-02-09 12:06:18
转载
1036 人浏览过

如何删除在 mongodb 中插入嵌套结构时添加的附加键

php小编苹果为您带来一篇关于如何删除在mongodb中插入嵌套结构时添加的附加键的文章。在使用mongodb存储数据时,有时候我们会为了方便查询和操作而在嵌套结构中添加一些附加键。但是,当我们不再需要这些附加键时,如何删除它们呢?本文将为您提供一种简单有效的方法,帮助您轻松删除在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 中插入嵌套结构时添加的附加键的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!