gpt4 book ai didi

java - Spring mongodb : Aggregation unable to specify graphLookup. maxDepth

转载 作者:行者123 更新时间:2023-12-02 02:17:16 24 4
gpt4 key购买 nike

我最近更新到最新的 spring mongodb 1.10 以尝试新的 $graphLookup 聚合器。但是,我似乎无法指定 graphLookup 的所有参数。

具体来说,我可以成功设置 startWithconnectFromconnectTo,但 as maxDepth 似乎不可见。

这有效:

Aggregation.graphLookup("relationships")
.startWith("destination")
.connectFrom("destination")
.connectTo("source")
;

这不会:

Aggregation.graphLookup("relationships")
.startWith("destination")
.connectFrom("destination")
.connectTo("source")
.maxDepth("2")
.as("relationshipGraph")
;

查看 spring 源代码, connectTo GraphLookupOperationBuilder 返回的类似乎是静态和最终的。

是否有其他方法来设置 maxDepth,或者这是一个错误?

最佳答案

这仍然是一个候选版本,但看起来像是一个错误。您可以使用 AggregationOperation 使用以下解决方法,它可以让您创建聚合管道。

 AggregationOperation aggregation = new AggregationOperation() {
@Override
public DBObject toDBObject(AggregationOperationContext aggregationOperationContext) {
DBObject graphLookup = new BasicDBObject(
"from", "relationships"). append(
"startWith", "$destination").append(
"connectFromField", "destination").append(
"connectToField", "source").append(
"maxDepth", 2).append(
"as", "relationshipGraph");
return new BasicDBObject("$graphLookup", graphLookup);
}
};

关于java - Spring mongodb : Aggregation unable to specify graphLookup. maxDepth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900444/

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