Vidím ve vašem kódu několik chyb, které způsobují nežádoucí výsledek.
-
Agregační kanál přijímá řadu operací agregačního rámce. Ve vašem případě chybí
[]
operátor. Mělo by to být jakoUser.aggregate([{$project...},{$match...}])
-
Ve fázi $match používáte regulární výraz, pokud používáte
/../
stylu regulárního výrazu, nemusíte jej obalovat řetězovými uvozovkami. Mělo by to být/bob j/i
Zde je hotový příklad:
User.aggregate([
{$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
{$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
console.log(result);
});
Měli byste vidět [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]
na obrazovce.