Myślę, że używając inline
tag pola to najlepsza opcja dla Ciebie. Dokumentacja mgo/v2/bson stwierdza:
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.
Twoja struktura powinna być wtedy zdefiniowana w następujący sposób:
type Cube struct {
Square `bson:",inline"`
Depth int
}
Edytuj
inline
istnieje również w mgo/v1/bson
na wypadek, gdybyś go używał.