当前位置: 首页 > 知识库问答 >
问题:

如何只更新已更改的属性--Spring MVC mongoDB

公孙威
2023-03-14

我正在使用Spring Data MongoDB和Spring Data Rest创建一个Rest API,它允许对我的MongoDB数据库进行GET、POST、PUT和DELETE操作,除了更新操作(PUT)之外,其他操作都很好。只有当我在请求体中发送完整的对象时,它才起作用,否则变量没有在rquest中发送它,则为NULL。有人能指导我解决这个问题吗。

@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个答案

叶谦
2023-03-14

您可以尝试像javer这样的对象比较库

 类似资料:
  • 当被监控目录中的文件的ReadOnly属性更改时,FileSystemMonitor似乎没有触发“更改”事件(没有其他事件)。 这是我的测试代码: 使用该代码,我接收到很多“更改”事件,例如,如果修改时间戳已更改,但如果我更改任何标准属性(如ReadOnly或Hidden),则不会。 我错过了什么,还是我击中了一个“特征”?

  • 是否有任何方法可以使用雄辩的模型来更新Laravel中的记录,只要对该记录进行了更改?我不希望任何用户无正当理由反复请求数据库,只是点击按钮保存更改。我有一个函数,可以根据页面中是否有更改来启用和禁用save按钮,但我想知道是否可以确保在服务器端也执行这种功能。我知道我可以通过检查记录是否有变化来自己完成它(意思是:不需要借助框架的内部功能),但在这样做之前,我想知道Laravel eloquen

  • 我正在创建一个SpringBoot/Angular 8应用程序,并在尝试更新解耦的前端/后端对象时遇到一些问题。当我发送包含角模型的json post请求时,'d或其他缺失的值将被更新为null,而不是被忽略。 这个堆栈溢出问题与此密切相关,推荐的解决方案确实有效,但它打断/绕过了一系列Jackson/Hibernate注释(例如和),所以,如果可能的话,我想寻找其他的解决方案:当使用json解析

  • 假设我从存储库中查找一个对象。如果在查找后立即保存此对象,则Spring数据足够聪明,不会更新数据库。如果我更改此对象中的属性,然后保存,则spring数据会进行更新。它如何知道是否需要进行更新?

  • 我已经扩展了TreeCell和TreeItem类。MyTreeItem包含一个自定义属性,我在MyTreeCell中使用它来渲染图形/字体等。问题是当我设置MyTreeCell.custom属性我不知道如何使TreeView/单元格重绘。 例如: 任何关于解决方案或(缺乏)设计方法的意见都受到赞赏。

  • 问题内容: 因此,我最近开始涉足OOP,到目前为止一切进展顺利。虽然我本身没有任何问题,但我希望有一个令人惊奇的功能,尽管我找不到关于该功能的任何文档。 在为对象分配属性时,我经常发现我必须更改依赖于他人的属性,例如光明与黑暗。这是一个例子: 现在,尽管这很酷,但我想要的是相同的过程,但是如果一个属性发生更改,则在同一对象内。如果我重置光的属性(是的),我希望黑暗相应地增加/减少。如果可以更改光的