春季靴子-Mongo |保存大量对象,导致重复键错误

时间:2018-09-07 06:41:14

标签: java mongodb spring-boot spring-mongodb

我有一个spring-boot应用程序,该应用程序可以处理并在旅途中保存大约100个对象的列表。

在处理状态之前,一切似乎都很好,但是调用save的{​​{1}}方法会引发以下异常:

MongoRepository

我也清除了db后重试,但出现相同的错误。无法理解我在做什么错误。

这是文档对象:

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 }'

}

在处理一些json数据作为输入之后,我创建了此@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; 文档的列表。我需要将此列表保存在mongo中。

这是在做什么:

Ticket

还有 @Autowired TicketRepository ticketRepository; @GetMapping("/tickets") public void saveTicketData(){ List<Ticket> tickets = ZendeskClient.parseJsonForTicketList(ticketJson); ticketRepository.save(tickets); }

TicketRepository

1 个答案:

答案 0 :(得分:1)

如果需要使用空值的功能,则可以为@Id使用相应的对象(由spring data mongo使用以进行新插入)

@Id
private Long id

当然,在解析阶段,“ parseJsonForTicketList”方法会将id设置为0。