我试图在 mongoDB 中创建嵌套对象,但不幸的是,我试图实现的格式如下
"Courses":{
"Date":{
"CourseName" :{
"hole 1"{
}
"hole 2"{
}
...so on until 18
}//coursename
}//date
}//courses
我尝试并成功地通过执行以下操作在类(class)中获取日期对象:
u := req.FormValue("username")
co := req.FormValue("course")
d := req.FormValue("date")
ng := nGame{Username: u, Course: co, Dates: d}
cn := courseName{CName: co}
query := bson.M{"username": u}
update := bson.M{"$push": bson.M{"Course": bson.M{ng.Dates: cn}}}
err = c.Update(query, update)
日期对象里面有类(class)名称我想做的是让类(class)名称成为另一个对象,然后我可以插入洞对象。
我使用的结构如下:
type (
nGame struct {
Username string
Course string
Location string
Dates string
}
)
type (
courseName struct {
CName string
}
)
最佳答案
据我了解,您描述的结构可以在 Go 中表示如下:
type Hole struct {
// Whatever you want here
}
type Course struct {
Hole1 Hole `json:"hole 1"`
Hole2 Hole `json:"hole 2"`
// ...
Hole18 Hole `json:"hole 18"`
}
type Courses struct {
// Date CourseName
map[string]map[string]Course
}
不过,我建议您为孔使用 18 元素数组,但这取决于您:
type Course struct {
Holes [18]Hole
}
然后您可以将其中一棵树实例化为(使用 [18]Hole
数组;如果您使用不同的实现,则相应地进行调整):
courses := Courses{
map[string]map[string]Course{
"2017-01-01": map[string]Course{
"Bob's Course": Course{
[18]Hole{
Hole{
// Hole 1
},
Hole{
// Hole 2
},
// ..
},
},
},
},
}
关于mongodb - 对象中的对象 对象中的对象 Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513223/