go-pg:将数据推送到现有数组

go-pg: Push data to existing array

我想使用 go-pg 向 postgres 数据库中的字符串数组添加一个新值。我如何使用 go-pg 将新值推送到数组。

这是我的用户模型

type User struct {
    ID        string    `pg:"id,notnull,unique" json:"id"`
    Email     string    `pg:"email,notnull,unique" json:"email"`
    Skills    []string  `pg:"skills,array" json:"skill"`
}

我想在用户使用用户标识添加新技能时更新技能数组。

来自客户端的数据包含用户 ID 和用户选择的单个技能。

go-pg中我们可以通过以下方式更新一个列

pg.Model(user).Set("data = ?data").Where("id = ?id").Update()

但是我怎样才能将新数据推送到数组?

云洛建议我已经完成array_append

pg.Exec(`UPDATE users SET skills = array_append(skills, 'skill') WHERE id = 'id';`)