首页 > 解决方案 > 我是否需要在 Mongo 的这个 POST 请求中进行事务处理?

问题描述

我创建了这样的方法,我只处理一个集合。首先它检查是否已经有记录,然后保存文档。

public CarrierRating createCarrierRating(final CarrierRatingRequest carrierRating, final String domain) {
    final var rating = this.carrierRatingRepo.findByVendorIdAndDeliveryMode(carrierRating.getVendorId(),
                carrierRating.getDeliveryMode());
        if (!rating.isEmpty()) {
            throw new BadRequestException(
                    new ErrorInfo(HttpStatus.BAD_REQUEST.name(), CommonConstants.CARRIER_RATING_ALREADY_EXISTS));
        }
        final var cRating = new CarrierRating();
        cRating.setVendorId(carrierRating.getVendorId());
        cRating.setDeliveryMode(carrierRating.getDeliveryMode());
        cRating.setRating(carrierRating.getRating());
        cRating.setCreatedAt(Instant.now());
        cRating.setCreatedBy(UserRequestContext.getUserId());
        cRating.setDomainId(domain);
        return this.carrierRatingRepo.save(cRating);
    }

我得到了一些关于编写 API 的评论,可能会有@Transactional. 我真的需要这个注释吗?我也没有 Mongo @Configuration,看来我必须在这里添加配置

标签: javamongodbtransactionsspring-data-mongodb

解决方案


推荐阅读