Ik zie een paar fouten in je code die een ongewenst resultaat veroorzaken.
-
Aggregatiepijplijn accepteert een reeks aggregatieraamwerkbewerkingen. In jouw geval mis je
[]
exploitant. Het zou moeten zijn alsUser.aggregate([{$project...},{$match...}])
-
In $match-fase gebruik je regex, als je
/../
. gebruikt stijl van regex, je hoeft het niet om aanhalingstekens te wikkelen. Het moet/bob j/i
. zijn
Hier is het voltooide voorbeeld:
User.aggregate([
{$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
{$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
console.log(result);
});
Je zou [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]
moeten zien op het scherm.