gpt4 book ai didi

java - Morphia - 聚合管道计算字段

转载 作者:可可西里 更新时间:2023-11-01 10:26:28 26 4
gpt4 key购买 nike

我想知道如何使用 Java 中的 Morphia 在按同一字段分组的 AggregationPipeline 中使用 sum 静态方法中的乘法。

像这样的东西,在 Morphia 中:

   new BasicDBObject("totalSales",
new BasicDBObject("$sum",
new BasicDBObject("$multiply",
new String[]{"$value", "$amount"})));

在这个问题上非常相似:Calculated group-by fields in MongoDB

提前致谢。

最佳答案

在你的 aggregation framework ,创建一个 projection 管道首先进行算术计算,然后在 group 中使用新字段 管道,像这样:

Iterator<Foo> aggregate = datastore.createAggregation(Foo.class)
.project(projection("_id").suppress(),
projection("field1", "_id"),
projection("field2"), projection("field3"),
projection("sales", multiply(projection("value"), projection("amount"))))
.group("field3", grouping("totalSales", sum("sales")));

关于java - Morphia - 聚合管道计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33570680/

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