Marshal serializes the in value, which may be a map or a struct value. In the case of struct values, only exported fields will be serialized. The lowercased field name is used as the key for each exported field, but this behavior may be changed using the respective field tag. The tag may also contain flags to tweak the marshalling behavior for the field. The tag formats accepted are:


`(...) bson:"[<key>][,<flag1>[,<flag2>]]" (...)`

The following flags are currently supported:

omitempty  Only include the field if it's not set to the zero
           value for the type or to empty slices or maps.

minsize    Marshal an int64 value as an int32, if that's feasible
           while preserving the numeric value.

inline     Inline the field, which must be a struct or a map,
           causing all of its fields or keys to be processed as if
           they were part of the outer struct. For maps, keys must
           not conflict with the bson keys of other struct fields.

Some examples:

type T struct {
    A bool
    B int    "myb"
    C string "myc,omitempty"
    D string `bson:",omitempty" json:"jsonkey"`
    E int64  ",minsize"
    F int64  "myf,omitempty,minsize"

Marshal is referenced in 0 repositories