当前位置: 首页 > news >正文

专业建设网站制作百度地图关键词优化

专业建设网站制作,百度地图关键词优化,南通昨晚最新疫情爆发,上海哪个网站能应聘做家教的目录 具体操作 1,查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2,查询JSON段落中price>19的记录 3,查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5,查询JSON数组是否包含…

目录

具体操作

1,查询JSON段落指定key的值是否有等于value的 或 指定key=value的数据记录

2,查询JSON段落中price>19的记录

3,查询JSON段中key为k0的记录

4、JSON段落中提取指定键值对到指定结构 

5,查询JSON数组是否包含某元素

6,修改JSON段中指定key的值

相关结构体及基础数据


具体操作

1,查询JSON段落指定key的值是否有等于value的 或 指定key=value的数据记录

查询ids列中k1=val1的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("ids->>'$.k1' = ?", "val1").Find(&demo1).Error 

查询books列中price=19.1的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_EXTRACT(`books`,'$.price')=?", 19.1).Find(&demo1).Error

2,查询JSON段落中price>19的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("books->'$.price' > 19 ").Find(&demo1).Error

等价于:

SELECT * FROM `demos` WHERE  books->>'$.price' >= 19;

3,查询JSON段中key为k0的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_EXTRACT(ids, '$.k0')").Find(&demo1).Error

4、JSON段落中提取指定键值对到指定结构 

var demo2 []Book
err = conn.Model(&Demo{}).Select("books->>'$.name' AS name").Find(&demo2).Error
// 注意:在非数组的JSON中可正常获取,若是数组型JSON则拿不到数据都是零值。

提取多个键值对(多个字段):

err = conn.Model(&Demo{}).Select("books->>'$.name' AS name", "books->>'$.price' AS price").Find(&demo2).Error

5,查询JSON数组是否包含某元素

查询ids列的JSON数组中包含a0的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_CONTAINS(ids, JSON_ARRAY(?))", "a0").Find(&demo1).Error

等价于

SELECT * FROM `demos` WHERE JSON_CONTAINS(`ids`, JSON_ARRAY('a0') ) AND `demos`.`deleted_at` IS null;

6,修改JSON段中指定key的值

将id=1的ids列中key为k0的值修改为v00

err = conn.Model(&Demo{}).Where("id=?", 1).Update("ids", gorm.Expr("JSON_REPLACE(ids, '$.k0', ?)", "v00")).Error // JSON_SET也可

值得注意的是,这种修改操作不能作用于JSON数组中元素的修改,JSON数组中元素的修改需要用到'$[0].k0',即表示数组第一个位置的元素的k0的值。

相关结构体及基础数据

type Demo struct {entity.ModelIDs   string `json:"ids"  gorm:"column:ids; type:JSON;"`Books string `json:"books"  gorm:"column:books; type:JSON;"`
}type Book struct {Name  string  `json:"name" gorm:"column:name;type:varchar(20); not null;"`Price float64 `json:"price" gorm:"column:price;type:decimal(10,2); not null; default:0.00;"`
}demos := []Demo{Demo{IDs:   "{\"k0\":\"val0\"}",Books: "{\"name\":\"西游记\",\"price\": 19.0}",},Demo{IDs:   "{\"k1\":\"val1\",\"k0\":\"val2\"}",Books: "{\"name\":\"三国演义\",\"price\": 19.1}",},Demo{IDs:   `["a0","a1","a2"]`,Books: "[{\"name\":\"西游记\",\"price\": 19.0},{\"name\":\"三国演义\",\"price\": 19.1}]",},}err = conn.Create(demos).Error

http://www.tj-hxxt.cn/news/78715.html

相关文章:

  • 知名网站建设平台网站免费seo
  • 网站建设费是业务宣传费吗汕头网站推广排名
  • 网站建设毕业设计中期检查免费模板
  • 响应式网站开发软件网站开发建站
  • 公司网站建设设计公司哪家好网站快速优化排名app
  • 做网站会遇到的问题全国病毒感染最新消息
  • 博客网站推荐免费好用的crm软件
  • 做柜子的常去的网站舟山百度seo
  • 广州网站建设建设文明seo技术教程网
  • 网站建设推荐信息接广告的平台推荐
  • 上海网站建设方案服务小视频网站哪个可以推广
  • 富力海外网络推广福州百度网站排名优化
  • 手机站网站布局seo外包网站
  • 场所码小程序怎么做长沙seo管理
  • b2b外贸网站南京seo排名优化
  • 网站代码开发文档模板网络营销推广策略
  • 网页游戏推广网站怎么做免费网页制作平台
  • 电话客服系统短视频seo询盘系统
  • 网站平台做推广方案模板建站代理
  • 答题h5制作平台深圳网站优化软件
  • 太原市建设工程招投标信息网站新闻软文发稿平台
  • 本地服务器怎么做网站如何注册属于自己的网站
  • 如何进入公司网站的后台南宁市优化网站公司
  • 莱芜区法院网站百度手机怎么刷排名多少钱
  • 京东网站设计特点百度seo排名优化软件化
  • 做美工用的网站网页设计软件
  • 帮忙建站的公司贵州seo和网络推广
  • 万户做的网站安全吗万网注册域名
  • 搭建网站服务器需要什么配置线下推广公司
  • 如何自己做框架开发网站网络销售有哪些