我想使用 mgo 创建/保存 MongoDB 集合。但我想更广泛地定义它(例如,提到一个属性是强制性的,另一个是枚举类型并具有默认值)。我已经定义了这样的结构,但不知道如何描述它的约束。type Company struct { Name string `json:"name" bson:"name"` // --> I WANT THIS TO BE MANDATORY CompanyType string `json:"companyType" bson:"companyType"` // -->I WANT THIS TO BE AN ENUM}这是否可以在 mgo 中完成,就像我们如何在 MongooseJS 中完成一样?
1 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
mgo 不是 ORM 或验证工具。mgo 只是 MongoDB 的一个接口。
自己做验证也不错。
type CompanyType int
const (
CompanyA CompanyType = iota // this is the default
CompanyB CompanyType
CompanyC CompanyType
)
type Company struct {
Name string
CompanyType string
}
func (c Company) Valid() bool {
if c.Name == "" {
return false
}
// If it's a user input, you'd want to validate CompanyType's underlying
// integer isn't out of the enum's range.
if c.CompanyType < CompanyA || c.CompanyType > CompanyB {
return false
}
return true
}
检查这个出了更多关于围棋枚举。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消