【发布时间】:2014-08-04 16:10:09
【问题描述】:
我有两个结构代表将被插入到 mongodb 数据库中的模型。一个结构(投资)将另一个结构(组)作为其字段之一。
type Group struct {
Base
Name string `json:"name" bson"name"`
}
type Investment struct {
Base
Symbol string `json:"symbol" bson:"symbol" binding:"required"`
Group Group `json:"group" bson:"group"`
Fields bson.M `json:"fields" bson:"fields"`
}
我遇到的问题是在投资模型中,组不是必需的。如果没有组,我认为最好不要将其插入数据库中。在 Go 中处理这样的数据库模型的最佳方法是什么?
【问题讨论】:
-
这不是我的专业领域,但您可能想调查
json.Marshalergolang.org/pkg/encoding/json/#Marshaler 它可以让您为 json 定义自定义编组行为,这应该(通过一些努力)允许您不写基于某种逻辑的给定字段。 -
结构标签:
json: "omitempty"应该可以解决问题,根据记忆。