You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB Unwind报错无法编码set类型 按equity_id分组统计持股总和问题

报错原因
  • 第一个问题:$unwind 语法错误。你写的 {"$unwind": {'$portfolios.transactions'}} 里,单个值放在大括号中在Python环境下会被识别为集合(set)类型,MongoDB无法解析该类型参数。同时你忽略了portfolios本身是数组结构,需要先展开portfolios数组,再展开其下的transactions数组。
  • 第二个问题:$group 逻辑不符合需求。你当前的分组仅用了$equity_id,但该字段嵌套在transactions下,路径错误,同时缺少user分组维度和shares求和逻辑。
可直接运行的聚合语句
db.collection.aggregate([
    # 第一层展开:展开portfolios数组
    {"$unwind": "$portfolios"},
    # 第二层展开:展开每个portfolio下的transactions数组
    {"$unwind": "$portfolios.transactions"},
    # 按user + equity_id分组,统计shares总和
    {"$group": {
        "_id": {
            "user": "$user",
            "equity_id": "$portfolios.transactions.equity_id"
        },
        "total_shares": {"$sum": "$portfolios.transactions.shares"}
    }}
])
输出说明

执行后返回的结果结构示例:

{
    "_id": {
        "user": "blablabla",
        "equity_id": "abcd"
    },
    "total_shares": 100
},
{
    "_id": {
        "user": "blablabla",
        "equity_id": "efgh"
    },
    "total_shares": 1000
}

内容的提问来源于stack exchange,提问作者Luiz Felipe Freitas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:24:04