'Mongoose: aggregate.lookup,part of the result undefined

I am trying to use method Model.aggregate() to get data from collection societies by using the collection activities, but the result turns out undefined

activitySchema.statics = {
    findByAggr:function(cb){
        return this
        .aggregate([
            {$lookup:{
                from:'societies',
                localField:'societyId',
                foreignField:'_id',
                as:'full'
            }},
            {
                $unwind: "$full"
            }
        ])
        .sort('meta.updateAt')
        .exec(cb)
    }
} 

Activity.findByAggr(function(err,activities){
    if(err) console.log(err)
    var a1 = new Society()

    console.log(activities)
    console.log(activities.full)  //undefined
    console.log(activities.full.num)  //error
})

error

[ { _id: 5c2f1d480500f435f0455731,
    meta:
     { createAt: 2019-01-04T08:46:00.478Z,
       updateAt: 2019-01-04T08:46:00.478Z },
    __v: 0,
    full:
     { _id: 5c2f1639ce5fdc16745f5e0a,
       meta: [Object],
       activities: [],
       num: '60',
       detail:'Lorem ipsum dolor sit amet...',
       __v: 0 } } ]

undefined

TypeError: Cannot read property 'num' of undefined

As you see, in console.log(activities) it shows all the data but I can't get part of it by using console.log(activities.full.num), why?

Please help me out! Thanks!

I am chinese and not good at English, excuse me for any mistakes.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source