私はmongoに保存されたユーザーベースを持っています。ユーザーは生年月日を記録できます。ユーザーを年齢別に集計するレポートを実行する必要があります。
これで、ユーザーを生年月日でグループ化するパイプラインができました。ただし、ほとんどの人は 1 月 1 日生まれではないため、正確ではありません。そのため、たとえば 1970 年に生まれたとしても、まだ 43 歳ではない可能性があります。
db.Users.aggregate([
{ $match : { "DateOfBirth" : { $exists : true} } },
{ $project : {"YearOfBirth" : {$year : "$DateOfBirth"} } },
{ $group : { _id : "$YearOfBirth", Total : { $sum : 1} } },
{ $sort : { "Total" : -1 } }
])
ユーザーの年齢を正確に計算するために、集計フレームワーク内である種の算術演算を実行できるかどうか知っていますか? または、これは MapReduce のみで可能ですか?