/
team.go
39 lines (33 loc) · 934 Bytes
/
team.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package db
import (
"github.com/atulanand206/find/server/core/models"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo/options"
)
type TeamCrud struct {
Db DBConn
}
func (crud TeamCrud) CreateTeams(teams []models.Team) (err error) {
var teamsDto []interface{}
for _, t := range teams {
teamsDto = append(teamsDto, t)
}
return crud.Db.CreateMany(teamsDto, TeamCollection)
}
func (crud TeamCrud) FindTeams(matchId string) (teams []models.Team, err error) {
findOptions := &options.FindOptions{}
sort := bson.D{}
sort = append(sort, bson.E{Key: "name", Value: 1})
findOptions.SetSort(sort)
cursor, err := crud.Db.Find(TeamCollection,
bson.M{"quiz_id": matchId}, findOptions)
if err != nil {
return
}
teams, err = DecodeTeams(cursor)
return
}
func (crud TeamCrud) UpdateTeam(team models.Team) (err error) {
_, err = crud.Db.Update(TeamCollection, bson.M{"_id": team.Id}, team)
return
}