如何忽略查询中time
字段的默认值?
因为它们是在0001-01-01 00:00:00 +0000 UTC
中设置的,所以我找不到合适的文档
// User model
type User struct {
Mail string `json:"mail" bson:"mail,omitempty"`
Password string `json:"password" bson:"password,omitempty"`
CreatedAt time.Time `json:"created_at" bson:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at" bson:"updated_at,omitempty"`
}
答案 0 :(得分:4)
time.Time
是结构类型,其zero值是有效时间值,不被视为“空”。因此,对于time.Time
,如果您需要区分zero和空值,请使用指向它的指针,即*time.Time
。 nil
指针值将是空值,任何非nil
指针值将表示非空时间值。
type User struct {
Mail string `json:"mail" bson:"mail,omitempty"`
Password string `json:"password" bson:"password,omitempty"`
CreatedAt *time.Time `json:"created_at" bson:"created_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at" bson:"updated_at,omitempty"`
}