Myslím, že pomocí inline
pole tag je pro vás tou nejlepší volbou. Dokumentace mgo/v2/bson uvádí:
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.
Vaše struktura by pak měla být definována takto:
type Cube struct {
Square `bson:",inline"`
Depth int
}
Upravit
inline
existuje také v mgo/v1/bson
zapouzdřit, že používáte tento.