gpt4 book ai didi

java - Spring mongo 上的聚合

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:00 25 4
gpt4 key购买 nike

我正在尝试在 spring mongo 层上重新创建此查询。

db.LASTVIEWED_TEST.aggregate([{$match: {'_id' : '12070'}},
{$unwind:"$value"},
{$match:{"value.Dockey":{"$in":["390", "539","626"]}}},
{$group:{_id:"$_id", "value":{$push:"$value"}}}
])

我使用各种方法进行了一些尝试,但是我在这里遇到了示例:

https://github.com/spring-projects/spring-data-mongodb/blob/master/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/AggregationTests.java

并创建了这个:

Aggregation agg = Aggregation.newAggregation(//
match(where("entityid").is(entityId)),//
unwind("$value"), //
match(where("value.Dockey").in(dockeyList)),//
group("id").push("$value").as("value")//
);

但是这个构建器看不到识别 where、unwind 关键字等...并且我的编译器告诉我我的类没有这些方法。

我需要做什么才能将值传递给 newAggregation 构建器。

干杯,

最佳答案

您需要指定Criteria匹配中的对象,通常所有值都只表示为字符串:

    Aggregation agg = newAggregation(
match(Criteria.where("entityid").is(entityId)),
unwind("value"),
match(Criteria.where("value.Dockey").in(dockeyList)),
group("_id").push("value").as("value")
);

关于java - Spring mongo 上的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26666575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com