//...
type UserInfo struct {
OpenId string `json:"openId,omitempty"`
UnionId string `json:"unionId,omitempty"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
Gender int8 `json:"gender"`
Province string `json:"province"`
City string `json:"city"`
Country string `json:"country"`
}
type User struct {
Id primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
CreatedAt string `json:"createdAt" bson:"createdAt"`
Openid string `json:"openid" bson:"openid,omitempty"`
PhoneNumber string `json:"phoneNumber,omitempty" bson:"phoneNumber,omitempty"`
UserInfo UserInfo `json:"userInfo,omitempty" bson:"userInfo,omitempty"`
Status bool `json:"status" bson:"status,omitempty"`
}
//...
res, err := collection.InsertOne(context.Background(), user)
//...UserInfo也是一个结构。在插入之后显示在图像中。
当UserInfo字段为空时,我不需要它。我该怎么办?谢谢你的帮助!
发布于 2020-11-16 17:19:47
解决方案是将*添加到表示pointer.Jus的innerStruct类型中,如下所示:
//...
type UserInfo struct {
OpenId string `json:"openId,omitempty"`
UnionId string `json:"unionId,omitempty"`
NickName string `json:"nickName"`
AvatarUrl string `json:"avatarUrl"`
Gender int8 `json:"gender"`
Province string `json:"province"`
City string `json:"city"`
Country string `json:"country"`
}
type User struct {
Id primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
CreatedAt string `json:"createdAt" bson:"createdAt"`
Openid string `json:"openid" bson:"openid,omitempty"`
PhoneNumber string `json:"phoneNumber,omitempty" bson:"phoneNumber,omitempty"`
UserInfo *UserInfo `json:"userInfo,omitempty" bson:"userInfo,omitempty"`
Status bool `json:"status" bson:"status,omitempty"`
}
//...
res, err := collection.InsertOne(context.Background(), user)
//...现在在插入mongodb或json.Marshal().Hope时,将省略UserInfo,这对其他人帮助不大:)
https://stackoverflow.com/questions/64852334
复制相似问题