मुझे आपके कोड में कुछ गलतियां दिख रही हैं, जिसके कारण अवांछित परिणाम हो रहे हैं।
-
एकत्रीकरण पाइपलाइन एकत्रीकरण ढांचे के संचालन की सरणी को स्वीकार करता है। आपके मामले में, आप गायब हैं
[]
ऑपरेटर। यह ऐसा होना चाहिए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' } ]
स्क्रीन पर।