Bạn nên xem cờ nội tuyến của gói bson (được ghi lại dưới bson.Marshal). Nó sẽ cho phép bạn làm điều gì đó như sau:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Tuy nhiên, bây giờ bạn sẽ nhận thấy rằng bạn nhận được các lỗi khóa trùng lặp khi bạn cố gắng đọc từ cơ sở dữ liệu với cấu trúc này, vì cả adminUser và User chứa khóa secret .
Trong trường hợp của bạn, tôi sẽ xóa Secret trường từ User và chỉ có một trong adminUser .Sau đó, bất cứ khi nào bạn cần ghi vào secret , hãy đảm bảo rằng bạn sử dụng adminUser .