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
.