sql - go-pg:将数据推送到现有数组
问题描述
我想使用 go-pg 向 postgres db 中的字符串数组添加一个新值。如何使用 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 添加新技能时,我都想更新技能数组。
来自客户端的数据包含用户 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';`)
推荐阅读
- node.js - 我得到一个 save() is a not a function 错误 mongoose
- html - 为什么 CSS 光标属性不适用于样式化滚动条?
- java - 当我在我的 Kafka 生产者中为 all 设置 acks 时,得到 acks = -1
- sql-server - SQL Server,一张有数据的表->用外键插入表中,外键表也必须填写
- node.js - 试图让机器人在基于 JSON 文件的特定频道中发布
- windows - 如何在 Windows 10 Home 上更改 Docker 映像位置
- python - PIL Image.Open 导致 RecursionError
- vb.net - 在超时中创建 Azure-DB 运行
- android - AlertDialog.Builder setMultiChoiceItems 的奇怪行为
- swift - 测试由 Swift 包生成的代码