3 回答
TA贡献1828条经验 获得超3个赞
也许是这样的。首先定义一个返回结构指针的函数:
func NewAbonnement()(ab *Abonnement){
return &Abonnement{Newsletter: false}
}
然后将该函数称为 Abonnement 切片文字:
personita := Persone{
Compte : "Standard",
Datei : time.Date(2015, time.February, 12, 04, 11, 0, 0, time.UTC),
Email : "test@test.com",
MDP : "test_mdp",
Type : "T&D",
User : "test_user",
Validation : "validé",
Arrival : []string{},
Clicks : []string{},
Recherches : []string{},
Abonnements : []Abonnement{*NewAbonnement()},
}
TA贡献1802条经验 获得超5个赞
拥有嵌套结构的解决方案是:
type Abonnement struct {
Newsletter bool `bson:"newsletter"`
StripeID string `bson:"stripe_id,omitempty"`
StripeSub string `bson:"stripe_sub,omitempty"`
}
type Personne struct {
Compte string `bson:"compte"`
Datei time.Time `bson:"datei"`
Email string `bson:"email"`
MDP string `bson:"mdp"`
Type string `bson:"T&D"`
User string `bson:"user"`
Validation string `bson:"validation"`
Arrival []string `bson:"Arrival"`
Clicks []string `bson:"Clicks"`
Recherches []string `bson:"Recherches"`
Abonnements Abonnement `bson:"abonnements"`
}
然后 :
personita := Personne{
Compte : "Standard",
Datei : time.Date(2015, time.February, 12, 04, 11, 0, 0, time.UTC),
Email : "test@test.com",
MDP : "test_mdp",
Type : "T&D",
User : "test_user",
Validation : "validé",
Abonnements : Abonnement{false,"",""},
}
if err := coll.Insert(personita); err != nil {panic(err)}
这样,您就可以使用默认值将嵌套的 JSON 添加到 MongoDB。
此外,在这种特殊情况下,StripeID 或 StripeSub 是可选的,因此如果值为空,它们将不会出现在您的数据库中。
- 3 回答
- 0 关注
- 282 浏览
添加回答
举报