如何仅更新已更改的属性 - Spring MVC mongoDB
Posted
技术标签:
【中文标题】如何仅更新已更改的属性 - Spring MVC mongoDB【英文标题】:How to update only attributes that have changed - Spring MVC mongoDB 【发布时间】:2020-09-05 22:42:43 【问题描述】:我正在使用 Spring Data MongoDB 和 Spring Data Rest 创建一个 REST API,它允许对我的 MongoDB 数据库进行 GET、POST、PUT 和 DELETE 操作,除了更新操作 (PUT) 之外,它都工作正常。仅当我在请求正文中发送完整对象时才有效,否则未在请求中发送的变量为空。有人可以指导我解决这个问题。
@PutMapping("/update/id")
public void update(@Valid @RequestBody Facture facture, @PathVariable("id") String id)
Optional<Facture> factureData = factureRepository.findById(id);
facture.setId_facture(id);
this.factureRepository.save(facture);
【问题讨论】:
【参考方案1】:你可以试试像javer这样的对象比较库
【讨论】:
你的意思是我会比较 Diff diff = javers.compare(Olduser, user); @Kindth 是的,那么您将获得旧值和新值的差异图以上是关于如何仅更新已更改的属性 - Spring MVC mongoDB的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.3更新记录。仅更新已更改的记录并保留未更改的记录
[DataGridCheckBoxColumn在属性更改时不会在MVVM中更新
仅查看Model OnPropertyChanged上的更新,但不查看ViewModel OnPropertyChanged中的更新