使用 MongoDB 从 Golang 中的子对象数组中获取值
Get values from array of child objects in Golang with MongoDB
我正在使用安装了最新版本 MongoDB 的 mgo.v2 驱动程序。我的文档结构是这样定义的:
type gameTemplate struct {
ID bson.ObjectId `bson:"_id" json:"id"`
GameCode string `bson:"gamecode" json:"gamecode"`
Players []player `bson:"players" json:"players"`
}
type player struct {
PlayerID bson.ObjectId `bson:"playerid" json:"playerid"`
Username string `bson:"username" json:"username"`
Level int `bson:"level" json:"level"`
}
我将如何获取特定游戏中的用户名列表(由 gamecode
定义)?
有没有办法获取数组的大小并遍历元素,或者有更好的方法?
你可以让所有玩家都拥有这样的特定游戏代码:
players := []gameTemplate{}
err = session.DB(DBname).C(Colloctionname).Find(bson.M{}).All(&players)
正如您定义的那样,每个玩家都有用户名,玩家切片的大小是具有特定游戏代码的用户名的数量。
ps:
小心并更改 DBname 和 Colloctionname whit 您的数据库和集合名称并使用数据库连接的会话
成为
我正在使用安装了最新版本 MongoDB 的 mgo.v2 驱动程序。我的文档结构是这样定义的:
type gameTemplate struct {
ID bson.ObjectId `bson:"_id" json:"id"`
GameCode string `bson:"gamecode" json:"gamecode"`
Players []player `bson:"players" json:"players"`
}
type player struct {
PlayerID bson.ObjectId `bson:"playerid" json:"playerid"`
Username string `bson:"username" json:"username"`
Level int `bson:"level" json:"level"`
}
我将如何获取特定游戏中的用户名列表(由 gamecode
定义)?
有没有办法获取数组的大小并遍历元素,或者有更好的方法?
你可以让所有玩家都拥有这样的特定游戏代码:
players := []gameTemplate{}
err = session.DB(DBname).C(Colloctionname).Find(bson.M{}).All(&players)
正如您定义的那样,每个玩家都有用户名,玩家切片的大小是具有特定游戏代码的用户名的数量。
ps:
小心并更改 DBname 和 Colloctionname whit 您的数据库和集合名称并使用数据库连接的会话 成为