linq.js分组依据,聚合多个字段

linq.js group by, aggregate multiple fields

我正在尝试按 2 个属性对我的数据进行分组,并为每个组计算另外两个属性的总和。我的代码有点偏离,因为我得到的两个字段(值和数量)的总和相同。我错过了什么?谢谢!

代码 -

var linq = Enumerable.from(data);
        var result = linq
            .groupBy(
                "{ pCo: $.portCo , sName: $.secName }",
                "$.value, $.quantity",
                "{ portCo: $.pCo, security: $.sName, value: $$.sum($.value), quantity: $$.sum($.quantity) }",
                "$.pCo + ' ' + $.secName")
            .toArray();

好的,经过 n 次试验和 (n-1) 次错误后,它可以使用以下语法工作:

var linq = Enumerable.from(data);
        var result = linq
            .groupBy(
                "{ pCo: $.portCo , sName: $.secName }",
                null,
                "{ portCo: $.pCo, security: $.sName, value: $$.sum('$.value'), quantity: $$.sum('$.quantity') }",
                "$.pCo + ' ' + $.secName")
            .toArray();

我不清楚 null 的基本原理,我需要为求和函数中的 属性 名称加上 '$.x' 引号。

解决方案的灵感来自 Jeff 在这里的回答 -