微服务框架
【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”: {字段}}
 
 



















