【发布时间】:2019-11-01 19:02:59
【问题描述】:
我有一个条件说:创建一个 mongodb 查询,该查询提取索赔审查员总已结算索赔的 5%,例如,我的文档是: 索赔收集
{
"_id" : ObjectId("5dbbb6b693f50332a533f4db"),
"active" : true,
"status" : "settled",
}
{
"_id" : ObjectId("5dbbb6b693f50332a533f4db"),
"active" : true,
"status" : "unsettled",
}
我可以这样计算总数。
db.getCollection("claims").aggregate([
{$match: { 'status': 'trm'}},
{ $count: "total"}
])
例如,它给了我 42 的计数。
所以我想要实现的是计算已结算数据的总数,将总数设置为变量并将 $limit 部分中公式的 5% 应用为
{
$limit: $total * 0.05
}
我无法将一个管道的总数设置为变量并将其应用于另一管道。
请帮忙。如何达到这种条件?
【问题讨论】:
-
使用 $multiply 运算符docs.mongodb.com/manual/reference/operator/aggregation/multiply
-
@sushantmehta 你能举个例子吗?我无法首先将总计数设置为变量..
-
您不能将变量用于聚合
$limit阶段;它必须是整数文字(例如,5)。
标签: mongodb aggregation-framework aggregate