Inserting into MongoDB using Spring 数据插入到两个集合中

Inserting into MongoDB using Spring Data inserts into two Collections

我正在创建一个 Spring 引导应用程序,它将对象插入到 MongoDB 数据库中。问题是,当我进行插入时,它会在两个集合中创建记录。基本上我有一个扩展 A 的 POJO A 和 POJO B。当插入发生时,它会在集合 A 和集合 B 中为相同的 ObjectId 创建文档。我的期望是它只会在集合 B 中为 POJO B 创建文档,因为这是传递给 repository.insert 方法的内容。我究竟做错了什么?如果需要,我可以提供配置和版本号。另外,如果有区别的话,我正在使用 Groovy。

答案基于我的应用程序,因此是我引入的一个问题。我正在使用 Spring Batch 并使用 MongoReader 和 MongoWriter。我正在从集合“a”中读取并且我希望作者写回集合“a”但是在处理器内部我正在将对象转换为 POJO B 并且因为我没有指定集合然后 MongoWriter 确定基于 class 的集合并创建集合“b”。我向两个 classes 添加了相同的文档注释并解决了问题。