1
与えられたプロパティ値の平均をコレクション内で取得したいと考えています。私は間違って何をしていますか?MongoDBは特定のフィールドを見つけて平均値を取得します
与えられたプロパティ値の平均をコレクション内で取得したいと考えています。私は間違って何をしていますか?MongoDBは特定のフィールドを見つけて平均値を取得します
あなたはすなわち、特定の都市の値に基づいて、コレクション内のすべてのドキュメントをフィルタします$group
オペレータの前にパイプラインを作成$match
演算子を使用して文書をフィルタ処理する必要があります。前の$group
オペレータのパイプラインで
、あなたはその後、蓄積された平均値を、前のパイプラインからグループに(_id
フィールドによって示されるように)すべての文書をヌルキーを使用して取得することができます:
db.x.aggregate([
{ "$match": { "city": "Barcelona" } },
{ "$group": { "_id": null, "$avg": "$trips" } }
]);
(上記のように最適ではない)別のアプローチは、都市のキーによってグループに、コレクション内のすべての文書も、その後、その後フィルタリングします:
db.x.aggregate([
{ "$group": { "_id": "$city", "$avg": "$trips" } },
{ "$match": { "_id": "Barcelona" } }
]);
db.x.aggregate([{$ group:{_ id:city、$ avg: "$ trips"}}]); – profesor79