如何将价格存储在 MongoDB 中以获得最佳实践?
How to store prices in MongoDB for best practices?
首先感谢您的帮助。
我有一个使用 Spring 引导和 mongo 使用 Spring 数据的应用程序,我有这样的东西:
@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
中。
首先感谢您的帮助。
我有一个使用 Spring 引导和 mongo 使用 Spring 数据的应用程序,我有这样的东西:
@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
中。