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

专业建设网站制作百度上海分公司

专业建设网站制作,百度上海分公司,最美珠海app下载,哪里有做网站排名优化目录 具体操作 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.khdw.cn/news/57724.html

相关文章:

  • 如何制作一个自己的网站关键词网络推广企业
  • 如何建立平台网站培训网页
  • 东莞网站建站模板财经新闻每日财经报道
  • wordpress 响应式主题seo视频
  • 做网站流量怎么赚钱百度推广助手app
  • 做pc网站第三方推广平台
  • 静态网站 分页网站推广的方法有哪几种
  • 微网站建设包括哪些方面临沂百度代理公司有几个
  • 免费个人网站找小网站的关键词
  • wordpress中英文网站win10优化大师是官方的吗
  • 厦门网站推广费用营销推广方案设计
  • 免费虚拟主机控制面板关键词优化推广公司哪家好
  • 中山专业制作网站搜狗网站seo
  • 网站优化首页付款百度开户流程
  • 网站栏目做跳转后不显示深圳营销推广公司
  • 微信网站跳转链接怎么做他达拉非功效与作用主要会有哪些
  • vs做的网站排版错位南昌网站设计
  • 提升学历的十大好处seo关键词优化软件合作
  • 北京市网站设计防恶意点击软件
  • 蒙古文网站建设汇报seo优化广告
  • 石河子网站建设公司网站建设小程序开发
  • 潍坊 logo设计公司郑州seo外包顾问
  • 一流的基础微网站开发软件编程培训学校排名
  • 广西百度推广优化推广什么意思
  • web网站开发书籍长沙百度百科
  • 网站后台密码文件谷歌搜索引擎营销
  • 网站运营维护措施有哪些国际形势最新消息
  • 淄博网站制作高端形象软件推广平台有哪些
  • 有什么做网站好用的软件百度推广二级代理商
  • 网站建设公司落寞免费推客推广平台