私は、コレクション内のすべてのプロパティに対して集計パイプライン演算子を適用する必要があるシナリオがあります。ここで私はどのようにそれを達成しました。mongodbでコレクション全体の集約パイプライン演算子を適用する方法
model = {
age: Number ,
risk: Number,
retireage: Number,
wealth: Number
};
私は一括して平均を取る必要があります。私が何をしたか
:
$group :{
_id: '',
age : {$avg : {$sum: ['$age',value]}},
risk : {$avg : {$sum: ['$risk',value]}},
retireage : {$avg : {$sum: ['$retireage',value]}},
wealth : {$avg : {$sum: ['$wealth',value]}},
}
は私がコレクション内のすべてのプロパティに対して一度に{$avg: {$sum:'$this'}}
を適用することができる方法があります。
は、平均化する必要があるすべてのプロパティがわからないという問題ですか?または、それらの多くがあるだけで、あなたはそれぞれのように同様の見た目をタイプしたくないのですか? –
なぜ$ sumと$ avgが必要ですか? 1つの数字の平均をとっているだけですから、あなたが計算しようとしていることを英語で説明できますか? –
あなたの2番目のコメントに答えるために投稿を編集しました。最初のコメントのために - はい私はすべてのプロパティを知っていますが、それは20以上のプロパティを持っていますので、結果を得るために20行を書きたくありません。また、$ truncもやる必要があります。 $ truncは$ groupの中ではサポートされていないので、$ projectの中に別の20行を書く必要があります。だから私は、それぞれのプロパティごとに別々に適用されるステートメントを書く方法があるのだろうかと思います。 –