微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 19 文档操作
- 19.2 修改文档
- 19.2.1 修改文档
- 19.2.2 总结
19 文档操作
19.2 修改文档
19.2.1 修改文档
方式一:全量修改,会删除旧文档,添加新文档
语法:
PUT /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
// ... 略
}
PUT /heima/_doc/1
{
"info": "黑马程序员高级Java讲师",
"email": "zy@itcast.cn",
"name": {
"firstName": "云",
"lastName": "赵"
}
}
【很明显,除了请求方式不一样,其他都和 “添加文档” 一样】【就算索引库里面没有,删除不会执行,但是新增仍然会执行】
【所以】 这种方式既可以做新增、也可以做修改
试试
# 全量修改文档
PUT /dingjiaxiong/_doc/1
{
"info": "黑马程序员Java讲师",
"email": "ZhaoYun@itcast.cn",
"name": {
"firstName": "云",
"lastName": "赵"
}
}
现在的索引库中有 一条 id 为 1 的文档数据的
直接运行
OK,更新成功,再次查询
OK
如果说id 没有
那就直接变成新增了
方式二:增量修改,修改指定字段值
POST /索引库名/_update/文档id
{
"doc": {
"字段名": "新的值",
}
}
POST /heima/_update/1
{
"doc": {
"email": "ZhaoYun@itcast.cn"
}
}
试试
# 增量【局部】修改文档
POST /dingjiaxiong/_update/1
{
"doc": {
"email":"ZYun@itcast.cn"
}
}
现在id 为1 的数据为
OK, 直接运行
再次查询
OK,没问题
19.2.2 总结
文档操作有哪些?
- 创建文档:POST /索引库名/_doc/文档id { json文档 }
- _查询文档:GET /索引库名/_doc/文档id
- 删除文档:DELETE /索引库名/_doc/文档id
- 修改文档:
- 全量修改:PUT /索引库名/_doc/文档id { json文档 }
- 增量修改:POST /索引库名/_update/文档id { “doc”: {字段}}