Parsing doubly nested JSON object to MongoDB

Schema for my MongoDB model:

var resultsSchema = new mongoose.Schema({
   start_date: String,
   end_date: String,
   matches:[{
       id:Number,
       match_date:String,
       status:String,
       timer:Number,
       time:String,
       hometeam_id:Number,
       hometeam_name:String,
       hometeam_score:Number,
       awayteam_id:Number,
       awayteam_name:String,
       awayteam_score:Number,
       ht_score:String,
       ft_score:String,
       et_score:String,
       match_events:[{
           id:Number,
           type:String,
           minute:Number,
           team:String,
           player_name:String,
           player_id:Number,
           result:String
       }]
    }] 
});

Example of JSON data coming from the server:

"matches":
[
    {
        "match_id":"1234"
        "match_date":"Aug 30"
        ...
        ...
        "match_events":
        [
            {
                "event_id":"234",
                "event_minute":"38",
                ...,   
                ...
            },
            { 
                "event_id":"2334",
                "event_minute":"40",
                ...,   
                ...
            }
         ],
    {
        "match_id":"454222"
        "match_date":"Aug 3"
        ...
        ...
        "match_events":
        [
            {
                "event_id":"234",
                "event_minute":"38",
                ...,   
                ...
            },
                ....

My current implementation works for parsing just the matches (i.e the first array). But I can't seem to access the inner array properly.

async.waterfall([
    function(callback) {
        request.get('http://football-api.com/api/?Action=fixtures&APIKey=' + apiKey + '&comp_id=' + compId +
            '&&from_date=' + lastWeek_string + '&&to_date=' + today_string, function(error, response, body) {
                if (error) return next(error);
                var parsedJSON = JSON.parse(body);

                var matches = parsedJSON.matches;
                var events = parsedJSON.matches.match_events;

                var results = new Results({
                    start_date: lastWeek_string,
                    end_date: today_string,
                    matches:[]
                });
                _.each(matches, function(match) {
                    results.matches.push({
                        id: match.match_id,
                        match_date: match.match_formatted_date,
                        status:match.match_status,
                        timer:match.match_timer,
                        hometeam_id:match.match_localteam_id,
                        hometeam_name:match.match_localteam_name,
                        hometeam_score:match.match_localteam_score,
                        awayteam_id:match.match_visitorteam_id,
                        awayteam_name:match.match_visitorteam_name,
                        awayteam_score:match.match_visitorteam_score,
                        ht_score:match.match_ht_score,
                        ft_score:match.match_ft_score,
                        et_score:match.match_et_score,
                        match_events:[]
                    });
                });
                _.each(events, function(event) {
                    results.matches.match_events.push({
                        id:event.event_id,
                        type:event.event_type,
                        minute:event.event_minute,
                        team:event.event_team,
                        player_name:event.event_player,
                        player_id:event.event_player_id,
                        result:event.event_result
                    });
                });

I understand that the second _.each loop should be iterating for every match, since very match has it's own events subarray. I'm just not sure how to structure this and have been struggling with it for a while.

I tried nesting that loop inside the _.each(matches, function(match) { loop but that didn't work.

Thank you.

Edit: How could I get this to work?

var results = new Results({
    start_date: lastWeek_string,
    end_date: today_string,
    matches:[
        match_events: []
    ]
});

Because then as @zangw says I could construct the match_events array first, append it to matches, and so on.