如何在类型重命名后使用 Spring 数据 MongoDB 类型信息更新现有文档?

How to update existing documents with Spring Data MongoDB type information after type renames?

我将 mongodb 与 spring 一起使用,我有一些子文档派生自一个基础 class,mongo 使用 '_class' 属性 来找出要转换成的正确类型,但现在我已经更改了包名称并且集合中仍然包含具有旧包名称的文档,我如何告诉 mongo 哪些自定义转换做什么?

首先,为了下次将您的 package/class 名称与 _class 变量分离,请在您的 pojo 上使用:@TypeAlias("name") 注释。那么 _class 的值将是 "name"

我认为最简单的解决方案是使用 TypeAlias 更新您的 pojo 并使用新值

更新您的 collection 的 _class 字段

在此处了解 Type mappinghttp://docs.spring.io/spring-data/data-mongodb/docs/current/reference/html/#mongo-template.type-mapping