Java 处理未知数量的聚合操作

Java 处理未知数量的聚合操作,java,mongodb,Java,Mongodb,我想编写一个通用代码,根据从API调用获得的过滤器,在查询需要时创建聚合 例如,我可能会为开始时间字段创建“匹配”聚合,但有时不会 我的问题是,在调用collection.aggregate(…)时,我需要确切地知道要调用多少聚合以及哪些聚合 有没有一种方法可以动态地执行此操作 我尝试传递“null”或空DBObject,但结果是异常。方法DBCollection#aggregate(DBObject,DBObject…接受数量可变的聚合选项,因此可以传递数组 DBObject firstOp

我想编写一个通用代码,根据从API调用获得的过滤器,在查询需要时创建聚合

例如,我可能会为开始时间字段创建“匹配”聚合,但有时不会

我的问题是,在调用
collection.aggregate(…)
时,我需要确切地知道要调用多少聚合以及哪些聚合

有没有一种方法可以动态地执行此操作


我尝试传递“null”或空DBObject,但结果是异常。

方法
DBCollection#aggregate(DBObject,DBObject…
接受数量可变的聚合选项,因此可以传递数组

DBObject firstOp = ...;
DBObject[] otherOps = ...;
AggregationOutput result = collection.aggregate(firstOp, otherOps);

请注意,第一个参数是一个操作,因此数组必须从操作2开始。

DBCollection#aggregate接受数量可变的聚合操作,因此可以传递数组。这很好!我不知道…@isnot2bad你想回答这个问题,这样我就可以把它标记为答案吗?