Jeg ser et par fejl i din kode, der forårsager uønskede resultater.
-
Aggregationspipeline accepterer række af aggregeringsrammeoperationer. I dit tilfælde mangler du
[]
operatør. Det burde være ligesomUser.aggregate([{$project...},{$match...}])
-
I $match-stadiet bruger du regex, hvis du bruger
/../
regex-stil, du behøver ikke at pakke den rundt om anførselstegn. Det skal være/bob j/i
Her er et færdigt eksempel:
User.aggregate([
{$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
{$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
console.log(result);
});
Du bør se [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]
på skærmen.