Closed
Description
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);
}
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;
}
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