【发布时间】:2022-11-01 12:38:25
【问题描述】:
我有一个在首次创建时部分定义的产品。它被分配了一个产品代码和一个它所属的类别。稍后当营销组提供详细信息时,需要通过将详细信息添加到产品来更新这些详细信息。这些是由不同的小组完成的。批处理作业从一个数据库中获取产品部分产品详细信息,从关系数据库中获取产品详细信息,然后使用 MongoDb 数据库中的产品详细信息更新产品。这是最初存在的对象。产品详细信息被分配产品代码和类别并写入 MongoDB 数据库。批处理作业每晚运行检查产品的产品详细信息,然后在关系数据库中可用时使用 ProductDetails 更新产品。以下是对象:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document
public class Product {
@Id
private long productCode;
private String category;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductDetail {
private long productCode; // matches the product code in Product
private String description;
private int quantityOnHold;
private BigDecimal price;
private String warehouseLocationId;
private float discountFactor;
private String orderDescCode;
private String vendorId;
}
我想知道用产品详细信息更新产品的方法是什么。我是否创建等效的产品文档并将产品详细信息添加为嵌套文档?有没有办法通过首先对其进行建模来简单地更新现有文档,即仅具有 2 个字段的产品,然后添加 ProductDetail?我对使用 Spring Data Mongo 比较陌生,所以我不知道最有意义的方法应该是什么,请帮忙。
【问题讨论】:
标签: spring-boot spring-data spring-data-mongodb