struct中的空值如何才能不写入MongoDB?
我们知道一个struct中,如果一个field有json:",omitempty"
这个tag,那么打包为JSON字符串的时候,空值就自动不打包。
比如:
type myAccountInfo struct {
Name string `json:",omitempty"`
}
如果Name == "", 那么打包为JSON字符串的时候,Name就自动不打包。
同理,上述struct写入MongoDB的时候, 如果Name == "", 那么 Name就不写入MongoDB,这该如何实现? 注:使用mgo driver。
共 8 个回复
jimmykuu
bson也支持这个标签
qkevin123
多谢!
qkevin123
对了,如何把一个struct中的值强制不输出到JSON中?
json:",omit"
这个tag貌似不好使?jimmykuu
忽略是
json:"-"
qkevin123
Great, many thanks.
chris
那如果json和bson同时使用呢,也就是说一个字段能使用两个标签吗
这么写:
chris
https://godoc.org/gopkg.in/mgo.v2/bson
这里面没有指明bson或者json的flag(BCEF),会自动应用到bson和json?
wangxufire
Name string
json:"name" ",omitempty"
可以有两个值吗