MongoDB store weekly data?
have you looked at having Historic Players and Historic Team collections?

Then if you wanted stats about the players at the time, you'd probably want to copy out the current players on the team in your historic games documents.  You'd probably want to store that as an array in the Historic Games table as the current players list might be different than the players from last week/year.  

Keep the position of the players in the document in mind so you can end up using proper indexes.

historic players
_id: jfoi23j8xx
PlayerID:Bo Jackson
weekinfo&lt;array or tags&gt; 
[week 1- hits:30, misses:3, bunts:7, TeamID: LA Raiders], 
[week2 - hits:17, misses:2, bunts:3, TeamID: Kansas City Royals]


historic teams:
_id:10u40o321js
TeamID: LA Raiders
Weekinfo&lt;array or tags&gt;
[week 1 - consolidated hits: 73, misses: 12],
[week 2 - consolidated hits:65, misses: 16]


Something like that might be a good start.  Does it meet your requirements?  You might want to have your app handle the aggregation but that's up to you.