spring-boot - Spring Data MongoDb | 通用模型和存储库
问题描述
我有一个用例从多个文档中获取 id(使用 Spring Data)。假设我们在 db 中有以下文档: 客户、订单、购物车、地址 我需要获取特定客户的订单、购物车和地址的 ID。
public interface Order extends MongoRepository<Order, String> {
List<Order> findOrderByCustomerId();
}
public interface Cart extends MongoRepository<Cart, String> {
List<Cart> findCartByCustomerId();
}
public interface Address extends MongoRepository<Address, String> {
List<Address> findAddressByCustomerId();
}
那么我们当然会有相关的模型
@Document(collection = "order")
public class Order {
@Id
private String id;
private String customerId;
...
}
@Document(collection = "cart")
public class Cart {
@Id
private String id;
private String customerId;
...
}
@Document(collection = "address")
public class Address {
@Id
private String id;
private String customerId;
...
}
我们可以在不为每个 mongo 文档定义模型和存储库的情况下使用通用实现吗?我也可以只获取文档的 ID,而不是整个订单、购物车或地址文档。
这些文档是单独的微服务的一部分,不扩展或实现任何抽象类。我们可以使用通用模型和存储库来做到这一点吗?
解决方案
推荐阅读
- mql5 - 如何像在 Pine Script 中一样计算 ATR
- php - 未定义的属性:AppController.php 中的 ErrorController::$user
- scala - 如何将汇编向量转换为数据框?
- python - 如何聚合基于两列的计算平均值?
- azure - 将 Azure Blob 存储事件通知发送到另一个帐户上的事件中心
- jquery - 如何只将数据存储到变量中一次?
- java - 反序列化json字符串的反序列化异常
- regex - 使用正则表达式从给定单词中提取文本直到段落结尾
- python - 为什么打印输出不同
- angular - 默认情况下,使用 Ionic 4 在 Angular 中无法预先选择表单中的单选按钮