У меня есть приложение spring-boot
, в котором есть служба для обработки и сохранения списка из примерно 100 объектов за один раз.
Все выглядит нормально до состояния обработки, но вызов save
метода MongoRepository
вызывает следующее исключение:
com.mongodb.DuplicateKeyException: Write failed with error code 11000 and error message 'E11000 duplicate key error collection: uhtableau_db.ticket index: _id_ dup key: { : 0 }'
Я повторил попытку после очистки базы данных, но та же ошибка. Невозможно понять, что я делаю неправильно.
Вот объект документа:
@Document
public class Ticket {
public Ticket(){
}
@Id
private long id;
private long ticket_id; // this is the field in the json which i am processing
private String topic;
private List<String> tag;
private String type;
private long brand;
private long group;
private String priority;
private String status;
private String created_at;
private String channel;
}
Я создаю список этого Ticket
документа после обработки некоторых данных JSON в качестве входных данных. Мне нужно сохранить этот список в монго.
Вот что я делаю:
@Autowired
TicketRepository ticketRepository;
@GetMapping("/tickets")
public void saveTicketData(){
List<Ticket> tickets = ZendeskClient.parseJsonForTicketList(ticketJson);
ticketRepository.save(tickets);
}
А TicketRepository
:
public interface TicketRepository extends MongoRepository<Ticket, Long> {
}