Vedo un paio di errori nel tuo codice che causano risultati indesiderati.
-
La pipeline di aggregazione accetta una serie di operazioni del framework di aggregazione. Nel tuo caso, ti manca
[]
operatore. Dovrebbe essere comeUser.aggregate([{$project...},{$match...}])
-
Nella fase $match stai usando regex, se stai usando
/../
style of regex, non è necessario avvolgerlo tra virgolette di stringa. Dovrebbe essere/bob j/i
Ecco l'esempio finito:
User.aggregate([
{$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
{$match: {"name": {$regex: /bob j/i}}}
]).exec(function(err, result){
console.log(result);
});
Dovresti vedere [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]
sullo schermo.