这是Mongo脚本
db.servicer_online_time.aggregate(
[
{
$group: {
_id : "$csId" ,
totalTime: {
$sum: {
$multiply: ["$offlineTime", "$onlineTime"]
}
}
}
},
]
);
这是Java代码
GroupOperation groupOperation = Aggregation.group("csId").sum("$multiply: [\"$offlineTime\", \"$onlineTime\"]").as("");
脚本可以写在" sum()"功能?我该怎么写?
答案 0 :(得分:0)
您可以尝试在投影操作中使用 SpEL andExpression
首先投影字段,然后在群组操作中汇总新字段:
Aggregation agg = newAggregation(
project("csId").andExpression("offlineTime * onlineTime").as("timesProduct"),
group("csId").sum("timesProduct").as("totalTime")
);