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

Javers-无法在文档中跟踪mongo更新

方俊
2023-03-14

我试图跟踪文档中特定字段的更改。这是我的用户类。我想用Javers记录count中的任何变化。

@Document
public class User {

    @Id
    private String userId;
    private String name;
    private int count;
    private Date creationDate = new Date();
    private Map<String, String> userSettings = new HashMap<>();
}

我添加了以下代码来跟踪何时创建新的用户对象。

@Override public User addNewUser(User user) {
        mongoTemplate.save(user);
        javers.commit("Added", user);
        return user;
    }

这是使用MongoTemplate的updateCount方法:

@Override public boolean updateCount(String name) {
        Query query = new Query();
        query.addCriteria(Criteria.where("name").is(name));
        query.addCriteria(Criteria.where("count").gt(0));
        Update update = new Update();
        update.inc("count", -1);
        return Objects
            .requireNonNull(reactiveMongoTemplate.updateFirst(query, update, User.class).block())
            .getModifiedCount() == 1;
    }

现在我想跟踪的是在updateCount方法调用结束时提交某种更改。但是除非我有一个实体对象,否则这些更改无法提交。我该怎么做?

共有1个答案

燕智
2023-03-14

Javers是对象审计框架,您无法跟踪Javers中直接数据库更新所做的更改。您所能做的就是获取一些Java对象(一个实体),并调用javers。提交()

 类似资料:
  • 问题内容: 我的同事在工作中提出了一个我无法回答的问题(由于缺乏经验),该问题与跟踪表中相关字段的变化有关。 想象一下,我们有3个表,每个表20个字段。在此示例中,我们考虑这些表中的每一个都有2个字段,一个名为LastUpdatedOn,另一个名为LastUpdatedBy。 如果我们只想跟踪这3个表中的更改,而只跟踪几个特定字段,而没有为每个表创建包含更新前最新版本的历史表,那么我们如何跟踪这些

  • 我有https://github.com/javers/javers/issues/98中描述的类似用例。 在下面的代码中,当我更新dependent对象并提交Employee bob时,我希望对dependent的更改从JQL query 完整代码: 我得到以下输出。这缺少从属名称更改(Ram到Ramsey)。 谢谢

  • bugu-mongo 是一个 MongoDB Java 开发框架。它在 MongoDB Java Driver 的基础上进行了封装,使用简单。同时又集成了一些常用的特性,功能强大。

  • 运行我的桌面项目时,我有时会收到这个错误: < code >未跟踪更改,无法确定增量更改。 我尝试过使用和。我使用的是。 我尝试过这里提到的更改,但它们似乎是针对Kotlin项目的。 我正在努力寻找更多导致这种情况的信息。 我还可以尝试什么来解决此问题?

  • 我尝试记录JPA实体的任何更改。因此,每个实体都继承自一个抽象实体类,该类具有日志条目对象列表。 AbstractEntity类: LogEntry类: 我的方法是创建一个新的LogEntry对象,并在实体更新或持久化之前将其添加到实体的LogEntry列表中。 我尝试了以下解决方案: 几乎所有这些试验都使我能够更改受影响实体的属性(如名称或validTo)。但没有任何解决方案提供创建新LogEn

  • 在我的用例中,我希望使用spring-data-mongo一次更新多个文档,即与查询匹配的文档。 这是我一直在尝试的, MongoDB-3.6 spring-data-mongoDB-1.5.5.release