猿问

根据键值对过滤存储在Postgres中的JSON数据

我的Postgres数据库中的列名cart下有一个存储为JSONB的 JSON 对象。这是 2 个用户的购物车数据


"items": [

 {

   "name": "T-shirt",

   "price": 250,

   "item_id": 111,

   "quantity": 1

 },

 {

   "name": "Trousers",

   "price": 600,

   "item_id": 222,

   "quantity": 1

 }

]

}


&&&&


{

"items": [

 {

   "name": "Jeans",

   "price": 250,

   "item_id": 333,

   "quantity": 1

 },

 {

   "name": "Trousers",

   "price": 600,

   "item_id": 444,

   "quantity": 1

 }

]

}



此数据存储在 The column name cart下。我尝试使用 Gin 索引,但不清楚我在做什么。我应该如何查询数据,以便我可以在Postgres中找到所有将裤子作为购物车中的商品的用户列表?另外,我是这个实现的新手并且渴望学习所以如果实现是通过Golang进行的,那将会很有帮助。 谢谢,普什卡辛格


慕姐4208626
浏览 100回答 1
1回答

宝慕林4294392

USING gin ((cart->'items') jsonb_path_ops); SELECT * FROM order2 WHERE cart->'items' @> '[{"name":"Trousers"}]';
随时随地看视频慕课网APP

相关分类

Go
我要回答