Wpis z mikrobloga

Nie korzystałem wcześniej z bazy mongo w springu i gdy próbuję aktualizować obiekt z inną wartością jakiegoś pola to obiekt jest aktualizowany. Ale mam przypadek, że będzie wiele requestów (eventów) z aktualizacją równocześnie więc dodałem pole version z adnotacją i dostaję cały czas exception przy repository.save:

Write operation error on server mongo-replica-set-0:27017. Write error: WriteError{code=11000, message='E11000 duplicate key error collection: blabla index: id dup key: { _id: "doc1" }


Moje klasy:

public class Car extends DocumentBase<Car> {
private String orderId;
private String status;

//to powoduje wyjatek:
@ Version
private long version;
}

public abstract class DocumentBase<T extends Car<T>> {
@Id
private String id;
}

Obiekt1: orderId=1, status=PENDING, id=doc1
Obiekt2 którym chce zupdatować obiekt1: orderId=1, status=PAID, id=doc1 - zmienił się status.

O co może chodzić?

#programowanie #spring #springboot #programista15k #mongodb
  • 3
@nick230: Nie znam się na Javie ale może ta kjak @Id mówi co jest kluczem tak samo @Version może oznaczac dla javowego clienta że pole version to także klucz i nie pozwala wrzucić obiektu z takim samym kluczem