0

Mongo Aggregateを使用してアイテムの平均と合計を行っています

pipeline = [
    {$match: {///conditions here}},
    {$group: {_id: 'type', 'total': {'$sum':'$duration'}, 'avg': {'$sum':'$duration'}}},
  ]

集計関数は機能しますが、$sum と $avg の結果で負の値が得られることがあります。問題は、データベースの $duration が大きな整数であることです。

これらの大きな値で機能させるにはどうすればよいですか?

4

1 に答える 1

0

NumberLong 値を強制的に float に変換してから、次の$projectように浮動小数点 0 を追加して合計することで、これを行うことができます。

pipeline = [
    {$match: {///conditions here}},
    {$project: {type: 1, duration: {$add: ['$duration', 0.0]}}},
    {$group: {_id: 'type', 'total': {'$sum':'$duration'}, 'avg': {'$sum':'$duration'}}},
]
于 2013-07-29T00:25:09.550 に答える