登录
首页 >  Golang >  Go问答

在 Golang 中如何从子对象数组中提取 MongoDB 值

来源:stackoverflow

时间:2024-03-24 09:12:36 122浏览 收藏

在 Golang 中,使用 mgo.v2 驱动程序处理 MongoDB 时,可以通过特定游戏代码查询特定游戏中的玩家信息。玩家信息存储在 `player` 数组中,其中每个元素包含用户名、玩家 ID、等级等信息。要获取特定游戏中的用户名列表,可以查询数据库,提取玩家数组,并遍历其元素来获取用户名。

问题内容

我正在使用安装了最新版本 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)

正如您所定义的,每个玩家都有用户名,玩家切片的大小是具有特定游戏代码的用户名的数量。
附:
小心并更改数据库名称和集合名称,并使用数据库连接的会话 是

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>