私はこのような単純なdbレイアウトを持っています:
client
id
sex (male/female)
birthday (date)
client
id
sex (male/female)
birthday (date)
(...)
男性と女性のクライアントの数を出力する集計コマンドを作成しようとしています。また、男性と女性の平均年齢も出力したいのですが、同じコマンドでこれを実行できるかどうかはわかりません。 2つの別々のものが必要ですか?
// Count of males/females, average age
Clients.aggregate({
$project : {"sex" : 1,
"sexCount" : 1,
"birthday" : 1,
"avgAge" : 1
}
},
{
$match: {"sex": {$exists: true}}
},
{
$group: {
_id : "$sex",
sexCount : { $sum: 1 },
avgAge : { $avg: "$birthday" },
}
},
{ $sort: { _id: 1 } }
, function(err, sex_dbres) {
if (err)
throw err;
else{
(...)
}
});
上記のコードで男性/女性のカウントを取得しますが、avgAgeは0になります。何かアイデアはありますか?
どうもありがとう