Skip to content

Document BulkOperations limitations #4082

Closed
@sriramkishoren

Description

@sriramkishoren

Annotation @version is not working in mongodb BulkOperations insert operation but working with mongoRepository insert.

Below is the code for BulkOperations and MongoRepository:

  @PostMapping("/using-repository")
    public ResponseEntity<Documents> createDocument(@RequestBody Documents documentsRequest) {
        Documents _document = documentsRepository.insert(new Documents(documentsRequest.getTitle(), documentsRequest.getDescription()));
        return new ResponseEntity<>(_document, HttpStatus.CREATED);
    }

    @PostMapping("/using-template")
    public ResponseEntity<List<BulkWriteInsert>> createUsingTemplate(@RequestBody Documents documentsRequest) {
        Documents _document = new Documents(documentsRequest.getTitle(), documentsRequest.getDescription());
        List<Documents> validDocuments = new ArrayList<>();
        validDocuments.add(_document);
        BulkOperations bulkOperations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, Documents.class);
        bulkOperations.insert(validDocuments);
        return new ResponseEntity<>(bulkOperations.execute().getInserts(),HttpStatus.CREATED);
    }

Full file:
https://github.com/sriramkishoren/spring-boot-mongo-version-issue/blob/main/src/main/java/org/example/controller/DocumentsController.java

Below is the entity class

public class Documents {
    @Id
    private String id;
    private String title;
    private String description;

    @CreatedDate
    private Date createdAt;

    @LastModifiedDate
    private Date lastUpdatedAt;

    @Version
    private Long version;

    public Documents() {
    }

    public Documents(String title, String description) {
        this.title = title;
        this.description = description;
    }

Full file:
https://github.com/sriramkishoren/spring-boot-mongo-version-issue/blob/main/src/main/java/org/example/entity/Documents.java

Issue Screenshot Link:
https://github.com/sriramkishoren/spring-boot-mongo-version-issue/blob/main/Screen%20Shot%202022-06-12%20at%2010.08.41%20AM.png

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions