如何摆脱在mongodb中插入嵌套结构时添加的附加键
假设这是我的结构定义如何摆脱在mongodb中插入嵌套结构时添加的附加键,mongodb,go,struct,nested,tags,Mongodb,Go,Struct,Nested,Tags,假设这是我的结构定义 类型partialContent结构{ key字符串`json:“key”bson“key”` 值字符串`json:“值”bson:“值”` } 类型内容结构{ id字符串`json:“id”bson:“\u id,省略为空”` 部分内容 } 在MongoDB中存储内容时,它存储为 { “_id”:ObjectID, “部分内容”:{ “密钥”:“…”, “值”:“…” } } 但是JSON解组返回 { “_id”:ObjectID, “密钥”:“…”, “值”:“…”
类型partialContent结构{
key字符串`json:“key”bson“key”`
值字符串`json:“值”bson:“值”`
}
类型内容结构{
id字符串`json:“id”bson:“\u id,省略为空”`
部分内容
}
在MongoDB中存储内容时,它存储为
{
“_id”:ObjectID,
“部分内容”:{
“密钥”:“…”,
“值”:“…”
}
}
但是JSON解组返回
{
“_id”:ObjectID,
“密钥”:“…”,
“值”:“…”
}
如何去除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" }
谢谢,这就解决了!很抱歉,我忘了在问题中加上这个。