【问题标题】:How to store prices in MongoDB for best practices?如何在 MongoDB 中存储价格以获得最佳实践?
【发布时间】:2017-11-15 21:57:04
【问题描述】:

首先感谢您的帮助。

我有一个使用 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"
}

这样我就不会复制所有价格值中不需要的信息。

我该如何解决这个问题? 这是最好的解决方案吗?万一不是应该怎么办?

谢谢

【问题讨论】:

标签: mongodb spring-data-mongodb


【解决方案1】:
class Money {
    private BigDecimal amount;
    @Transient
    private Currency currency;
}

现在currency 属性将不会保留在MongoDB 中。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多