gpt4 book ai didi

go-gorm - 使用模型通过 GORM 查询 JSONB 列

转载 作者:行者123 更新时间:2023-12-04 04:31:01 31 4
gpt4 key购买 nike

我有一个结构/模型

type User struct {
gorm.Model
Name string `gorm:"unique;not null" json:"name"`
Data postgres.Jsonb `json:"data"`
}

我可以在 postgres 中查询
db=# select id,name,data from users where data @> '{"foo": "bar"}';
id | name | data
----+-------+------------------
6 | user01 | {"foo": "bar"}
7 | user02 | {"foo": "bar"}
8 | user03 | {"foo": "bar"}

如何在 jsonB 列上为特定键构造查询?我找不到使用模型对象进行查询的任何文档。我理解它可能与原始查询有关,但想看看如何使用模型对象来完成它,即。
users := []model.User{}
db.Find(&users, map[string]interface{}{"foo": "bar"})

http://gorm.io/docs/dialects.html

http://gorm.io/docs/query.html

最佳答案

在您的示例中,您没有指定 map 将过滤哪个字段。尝试

db.Find(&users, "data @> ?", map[string]interface{}{"foo": "bar"})

关于go-gorm - 使用模型通过 GORM 查询 JSONB 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52336159/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com