java - 是否可以在 Spring Data 中使用 ProjectionOperation 来投影数组项?
问题描述
试图将我的 mongo 聚合管道转换为 spring 数据,在 ProjectionOperation 中苦苦挣扎。
这是mongo中的管道:
db.MUREX_GTS_SA.aggregate([
{
"$group":{
"_id": {
"M_TRN_GRP": "$payload.M_TRN_GRP",
"M_TRN_FMLY": "$payload.M_TRN_FMLY",
"M_TRN_TYPE": "$payload.M_TRN_TYPE",
"M_TP_TRNTYPE": "$payload.M_TP_TRNTYPE"
}
}
},
{
"$project":{
"_id": false,
"identifiers":[
{
"key": "M_TRN_GRP",
"value": "$_id.M_TRN_GRP"
},
{
"key": "M_TRN_FMLY",
"value": "$_id.M_TRN_FMLY"
},
{
"key": "M_TRN_TYPE",
"value": "$_id.M_TRN_TYPE"
},
{
"key": "M_TP_TRNTYPE",
"value": "$_id.M_TP_TRNTYPE"
},
]
}
}
]);
客观的
Java 方法接收包含 ["payload.M_TRN_GRP", "payload.M_TRN_FMLY"] 的列表,因为参数是动态的。
我可以使用下面的代码进行分组
// group
GroupOperation groupOperation = Aggregation.group(mongoFields.toArray(new String[0]));
现在如何使用项目操作将项目推入数组?
抱歉,我对此很陌生
谢谢
解决方案
推荐阅读
- sql - 使用模式匹配更新(MS Access)
- xamarin - Xamarin Android模拟器在滚动视图中使用网格,仅绘制网格的第一页
- google-one-tap - 如何在谷歌一键式用户个人资料中访问电话号码
- c - 如何在方程中设置数学精度?
- python - 如何在异步函数 discord.py 中添加空格
- arrays - 删除数组中小于左侧元素的元素
- neural-network - 带有 Conv2D 层的 VAE 返回“InvalidArgumentError:不兼容的形状”
- c++ - 在 C++ 中删除动态数组会导致错误
- android - 如果在 WebView Flutter 中导航失败,则重新加载页面
- javascript - 使用 axios 和 vuejs 在数据表中获取 json api 数据