とドキュメントごとの平均値を計算します。私の質問です:特定のクエリでは、私はすべてのデータを持つすべてのフリーランサーを見つけ、それぞれの平均評価を計算する必要があります。結局、私はフリーランサーの配列を得るだろう。それぞれは、自分の計算した平均レーティングが、新しいフィールド "avg_rating"かそのようなものに格納されていることが望ましい。は、私はそのように定義マングースモデルを持っているソート
私はmongodb集計を調べようとしましたが、正直なところ多くのことを理解していませんでした。
私の説明が十分正確ではない場合は、事前にお詫びと申し訳ありません。これは将来的に他の誰かを助けることができる
Freelancer.aggregate(
[{
$project: {
fname: "$fname",
lname: "$lname",
rating_avg: {
$divide: [{
$reduce: {
input: "$ratings.rating",
initialValue: 0,
in: {
$sum: ["$$value", "$$this"]
}
}
}, {
$size: "$ratings"
}]
}
}
},
{
$sort: {
rating_avg: -1
}
}
],
function (err, results) {
res.send(results);
});
});
希望:
[埋め込みドキュメント/配列内のフィールドの平均を計算する](https://stackoverflow.com/questions/30289071/calculate-the-average-of-fields-in-embedded-documents-array) – Li357