我在 spring-data-mongodb 中使用聚合,目的是实现查询下面数据
{
"name":"test1",
"receivedDate":"2021-05-18 00:00:52",
}
{
"name":"test2",
"receivedDate":"2021-05-18 00:00:52",
}
{
"name":"test3",
"receivedDate":"2021-05-18 00:00:52",
}
{
"name":"test4",
"receivedDate":"2021-05-18 00:00:52",
}
目标是通过聚合查询出来结果如下:
{
"name":["test1","test2","test3","test4"],
}
1
目前使用方式是这样子
GroupOperation group = Aggregation.group().push("name").as("name");
查询结果
[
{
"_id": null,
"name": [
"test1",
"test2",
"test3",
"test4",
"test4"
]
}
]
2
但我修改为使用动态添加的时候
GroupOperation group = Aggregation.group();
for (int i = 0; i < params.length; i++) {
group.push(params[i]).as(params[i]);
}
发现查询的结果为
[
{
"_id": null
}
]
感觉动态 push 哪里并没有生效,查询了挺多的资料好像也没有找到,感觉使用人挺少的
- 有没有大佬知道应该怎么写的?
- 或者还有别的方式实现
- 或者自己遍历会不会比使用聚合这个更加好?
