如何使用 Spring Boot 在 Mongodb 中保存重复项?
Posted
技术标签:
【中文标题】如何使用 Spring Boot 在 Mongodb 中保存重复项?【英文标题】:How can I save duplicate in Mongodb using springboot? 【发布时间】:2022-01-17 05:04:38 【问题描述】:我必须读取 csv 文件,然后将 csv 文件的内容保存在 mongodb 中。在保存数据时,如果任何值已经存储在 mongodb 中,则该值不会再次存储(或者我说重复值不会存储在 mongodb 中)
谁能帮帮我。我用的是mongodb的saveAll()。
repo.saveAll(list1);
如果任何具有名为“id”的列的列表的值为 4。如果我正在存储另一个具有相同 id 的列表,即 4,那么我将无法存储它。
【问题讨论】:
mongodb 允许重复,只要您尝试复制的文件没有唯一索引。_id
默认有一个唯一索引,如果您的数据有一个列名 _id
并且包含重复的 _id
值,请更改该列的名称,以保存为 id
例如不是 _id
【参考方案1】:
您不能在索引上存储重复项。 索引通常在模式中设置。 mongoDB 原生的 id 字段始终是一个索引。
如果你想删除它,你必须用这个声明它:
db.collection.dropIndex("id")
// Or
db.collection.dropIndex("_id")
Here the docs
【讨论】:
以上是关于如何使用 Spring Boot 在 Mongodb 中保存重复项?的主要内容,如果未能解决你的问题,请参考以下文章
企业级 SpringBoot 教程 springboot整合mongodb
如何在 spring-boot 中禁用 spring-data-mongodb 自动配置
如何在 Spring Boot 中使用 @Transactional 注解
如何在没有spring-boot的情况下使用eureka+feign?