繁体   English   中英

审计 MongoDB 与 Javers 的子文件

[英]Audit MongoDB Subdocument with Javers

我正在尝试使用 Javers 审核对子文档的更改,但是当我使用findChanges时,子文档更改没有显示出来:

下面是文档和子文档的结构:

{
  "id": "5fafa42d99fa9d005fc288a1",
  "lastModifiedDate": "2020-11-14T09:32:45.118+00:00",
  "workflowState": {
    "isTerminus": false,
    "label": "Under Consideration",
    "entry": false
  },
  "workflowId": "5f9ef05e607b75554aa7e93f",
}

但是,当我使用下面的代码对此实体进行更改时,只有属性lastModifiedDate出现在更改中:

WorkflowState newState = workflowService.transitionIssue(issue, transition);

IssueDTO issueDTO = new IssueDTO(
    issue.getId(),
    new Date(), // lastModifiedDate
    newState, // also new but is not getting listed in changes
    issue.getWorkflowId()
);

Issue entity = Issue.fromIssueDto(issueDTO);

issueService.save(entity);

下面是我用来检索更改的代码:

return javers.findChanges(QueryBuilder.byInstance(issue).build());

我在这里错过了什么吗?

看起来我需要在查询中使用.withChildValueObjects()方法,如下所示:

javers.findChanges(
      QueryBuilder
      .byInstance(issue)
      .withChildValueObjects()
      .build()
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM