我有一个在我的逻辑中使用的结构
type MyStruct struct {
F1 string
F2 string
}
我想将类型MyStruct的值保存到文档数据库中,只添加一个时间戳。所以我创建了一个新的结构嵌入MyStruct
type MyStructForDB {
MyStruct
Ts time.Time
}
在 saveToDb 函数中,我执行以下操作
func saveToDb(s MyStruct) {
sDb := MyStructForDB{
s, time.Now()
}
// execute the update on the DB
}
如果我这样继续,在数据库上我会找到一个具有以下结构的文档
{
myStruct: {
f1: "a value" // any value that was in s.F1
f2: "another value" // any value that was in s.F2
}
ts: 2020-06-26T14:15:07.050Z // a timestamp value
}
虽然这没关系,但我宁愿不要看到该myStruct物业,而宁愿看到像这样的更扁平的文件
{
f1: "a value" // any value that was in s.F1
f2: "another value" // any value that was in s.F2
ts: 2020-06-26T14:15:07.050Z // a timestamp value
}
我知道我可以通过一个一个地复制字段或使用反射来做到这一点,但我只是想知道是否有更简单的方法来实现这一点
慕莱坞森
相关分类