首先提前感谢您的帮助。
我有一个使用 Spring Data 的 Spring Boot 和 mongo 的应用程序,我有这样的东西:
@Document("products")
class Product {
@Id
private String $id;
private String $name;
private Money price;
private Money deliveryPrice;
}
class Money {
private BigDecimal amount;
private Currency currency;
}
如果我保存产品,它会保存如下:
{
_id: ObjectId("AAAA"),
name: "Product 1",
price: {
amount: "100",
currency: "EUR"
},
deliveryPrice: {
amount: "10",
currency: "EUR"
}
}
这是正确的,但我不喜欢它的保存方式。
我想存储如下:
{
_id: ObjectId("AAAA"),
name: "Product 1",
price: DecimalNumber(100),
deliveryPrice: DecimalNumber(10),
currency: "EUR"
}
这样我就不会复制所有价格值中不需要的信息。
我该如何解决这个问题?这是最好的解决方案吗?万一不是应该怎么回事?
谢谢
class Money {
private BigDecimal amount;
@Transient
private Currency currency;
}
现在,currency
属性将不会保留在MongoDB
中。