Collection:
[ { _id: \"Foo\", flag1: false, flag2: true, flag3: false }, { _id: \"Bar\", flag1: true, flag2: false, flag3: true } ]
Yes we can call function in aggregation project with simple way.
let getStatus = (flag) => { return flag=='ok' ? 'ok' :'broken'; } aggregate({ $project: { '_id': 1, 'status': getStatus($flag3) } });