Anda harus melihat flag inline paket bson (yang didokumentasikan di bawah bson.Marshal). Ini akan memungkinkan Anda untuk melakukan sesuatu seperti ini:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Namun, sekarang Anda akan melihat bahwa Anda mendapatkan kesalahan kunci duplikat ketika Anda mencoba membaca dari database dengan struktur ini, karena keduanya adminUser
dan User
berisi kunci secret
.
Dalam kasus Anda, saya akan menghapus Secret
bidang dari User
dan hanya memiliki satu di adminUser
.Lalu kapan pun Anda perlu menulis ke secret
bidang, pastikan Anda menggunakan adminUser
.