java - Spring Data Aggregation:访问引用的对象字段
问题描述
我有一个引用另一个集合(靴子)的 Mongo 集合(玩家)。我想使用 MongoTemplate 聚合来获得我需要的结果。
例子
球员合集
{
"_id" : ObjectId("5acb22865c7ba60005e6c24b"),
"name" : "Roberto Ayala",
"isRetired" : false,
"boot" : {
"$ref" : "Boots",
"$id" : ObjectId("5ab5fb6ac08f59b7397d3194")
}
}
靴子系列
{
"_id" : ObjectId("5ab5fb6ac08f59b7397d3194"),
"model" : "F50",
"Sponsor" : "Adidas"
}
}
我想要实现的目标:返回一个带有玩家姓名和靴子型号的投影
代码
public Object Test(){
AggregationOptions options = Aggregation.newAggregationOptions().cursor(new BasicDBObject()).build();
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.project("name"));
//Additional Aggregation methods
return mongoTemplate.aggregate(aggregation,"Players",XYZ.class).getRawResults();
}
如何从“引导”字段中提取 Id,然后投影“模型”字段?
解决方案
推荐阅读
- c# - 通过 post 请求接受 Pdf 并在 c# .net core 中传递给 itext7 pdfreader
- laravel - 在 laravel 中多次查找同一张表
- android - 如何通过单击按钮将android更改为静音模式?
- python - 根据另一个数组对一个列表进行排序
- sql - 在postgres中添加没有密码的用户
- c++ - 递增 `int i = 0` 以递增初始化 char 数组的位置
- html - 有没有办法让文字只在手机上漂浮在图像周围?
- azure - 使用 Azure ADB2C 进行 Power App 身份验证
- python - 如何访问文件夹中的随机图像?Python
- html - 如何在页面上放置垂直标签