Wednesday 26 April 2017

How to make $lookup in aggregate return one object not an array

I have this function where I use $lookup and aggregate. the problem is that lookup return manager field and reports as an array when I only want one object, how can I achieve that ?

module.exports.getEmployeeByIde = function(ide, callback){

Employee.aggregate([
    { "$match": { id: parseInt(ide) } },
    { $limit: 1 },
    {
        "$lookup": {
            "from": "employees",
            "localField": "id",
            "foreignField": "managerId",
            "as": "reports"
        }
        },
        {
        "$lookup": {
            "from": "employees",
            "localField": "managerId",
            "foreignField": "id",
            "as": "manager"
        }
        }
        ]
).exec(callback);

}



via Yassine BHS

No comments:

Post a Comment