Получить значения из массива дочерних объектов в Golang с MongoDB - PullRequest
0 голосов
/ 01 ноября 2018

Я использую драйвер mgo.v2 с последней установленной версией MongoDB. Моя структура документа определяется следующим образом:

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)?

Есть ли способ получить размер массива и перебрать элементы, или есть предпочтительный метод?

1 Ответ

0 голосов
/ 02 ноября 2018

вы можете получить всех игроков с определенным кодом игры, например:

players := []gameTemplate{}
err = session.DB(DBname).C(Colloctionname).Find(bson.M{}).All(&players) 

, как вы определили, у каждого игрока есть имя пользователя, а размер игрока - это количество имени пользователя, которое имеет определенный код игры.


пс:
будьте осторожны и измените DBname и Colloctionname со своей базой данных и именем коллекции и используйте сеанс соединения с базой данных быть
...