我有一个实体“分类帐”,我需要总结,但仅限一个用户。以下是我所拥有的,即将开始工作的内容。但是,它为每个用户“user_id”汇总它们。我有成千上万的用户,每个user_id有数千个分类帐。我需要找到一个特定用户的平均值。
实体:
用户“_id” 分类帐“user_id”
db.ledgers.aggregate(
[
{
$group:
{
_id: "$user_id",
avgAmount: { $avg: "$amount_in_cents" }
}
}
]
)
答案 0 :(得分:1)
首先过滤user_id,然后执行分组
db.ledgers.aggregate(
[
{$match: {user_id: '<USER_ID>', amount_in_cents: {$gt: 2800}}},
{
$group:
{
_id: "$user_id",
avgAmount: { $avg: "$amount_in_cents" }
}
}
]
)