Виждам няколко грешки в кода ви, причиняващи нежелан резултат.
-
Конвейерът за агрегиране приема масив от операции на рамката за агрегиране. Във вашия случай липсва
[]
оператор. Трябва да е катоUser.aggregate([{$project...},{$match...}])
-
В етапа на $match вие използвате регулярен израз, ако използвате
/../
стил на регулярен израз, не е необходимо да го обвивате около низови кавички. Трябва да е/bob j/i
Ето готовия пример:
User.aggregate([
{$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
{$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
console.log(result);
});
Трябва да видите [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]
на екрана.