【发布时间】:2022-03-14 22:59:57
【问题描述】:
我的 mongodb 实体上有一个属性,我们称之为foo。
当我检索这个属性时,我希望在我的 POJO 的两个不同属性上设置它的值,foo 和 bar
所以如果一个文档被注册为:
{
"_id": "xxxxxx",
"foo": "123",
}
当服务从数据库中检索它时,我希望获取的实体如下所示:
{
"_id": "xxxxxx",
"foo": "123",
"bar": "123",
}
有没有办法只改变实体类来实现这一点?我尝试了以下方法,但没有成功
@Getter
@Setter
@Document("test")
public class MyClass {
@Id
private String _id;
@BsonProperty("foo")
private String bar;
private String foo;
}
我正在使用 Spring Webflux 和 Reactive MongoDB 堆栈。
【问题讨论】:
-
据我所知,不允许将多个属性映射到单个数据库字段,但您可以重新定义 getter for` bar`
public String getBar() { return foo; } -
@Alex 很好,我稍后会尝试,如果它适用于我的用例,我会回到这里 :)
-
@Alex 请发表您的评论作为答案
标签: java mongodb spring-webflux spring-data-mongodb spring-data-mongodb-reactive