java - Springboots 允许保存重复文件

标签 java spring mongodb spring-boot

<分区>

我一直在使用 MongoDB 和 Spring Boot。我创建了一个小型网络应用程序,但似乎遇到了一个错误。在我将 Web 应用程序部署到 EC2 并设置好所有内容后,我尝试了不同的场景。一个是我和我的 friend 试图将同一个对象保存到数据库中。这应该是不可能的,因为在我的代码中我已经限制了它,所以它会出错。但不知何故,如果时机完美,我们都可以保存文档。我们使用我们的方法 contains 检查文档是否已经存在,但在这种情况下它似乎失败了。

    /**
     * @param id ID of the document we are looking for
     * @return true or false based on if the Doc with given ID exists
     */
    @Override
    public boolean contains(String id) {
        return eventModelRepo.findById(id).isPresent();
    }

如有任何关于如何解决此问题的建议,我们将不胜感激。

最佳答案

您需要使用@Transactional 注释来防止对数据库的并发写入访问

https://stackoverflow.com/a/39829964/2588771

关于java - Springboots 允许保存重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63267493/

相关文章:

java - 应用程序客户端和独立客户端之间的区别

spring - Thymeleaf 可以像 Freemarker 一样进行本地化模板查找吗?

java - 如何处理: 'An JNi error has occurred, check your installation and try again' ?

node.js - 监听 "mongojs"连接错误

javascript - Meteor Collection 文档 ID : Random. id() 或 Meteor.Collection.ObjectID()

mysql - 多个where语句mongodb

java - 从 persistence.xml 初始化 Flyway 数据源

java - HTTPClient 4.1 中带有文件和字符串的多部分 POST

java - 将数据传输到不同的 Activity

spring - 如何使用 Spring AOP(或 AspectJ)定义/配置多个方面的优先级