2017-07-06 5 views
0

集計関数を角度に戻す方法を理解しようとしていますが、エラーが発生し続けます。私は本当にこれに固執し、私が間違っていることについていくつかの助けに感謝します。 未定義のプロパティ 'aggregate'を読み取ることができません
これは角が接続する私のルートです:モンゴース集計関数を角度に戻す

router.get('/enrolledin', function(req, res) { 
    var isEnrolled = Enrolled.findDetails(); //Enrolled.studentIsTaking(student); 
     isEnrolled.then((user) => { 
     res.json(user); 
    }) 
     .catch((err) => { 
     res.send("error found"); 
    }); 


}); 

ここEnrolled.findDetails()だ:

module.exports.findDetails = function() { 
    var x = db.enrolleds.aggregate(
     { $lookup: 
     { 
      from:'classstores', 
      localField:'classID', 
      foreignField: 'classKey', 
      as: 'matching' 
     } 
     } 


    ); 
    return x; 
} 

答えて

1

私はaggregateは(例にスクロール)配列でないオブジェクトを期待信じます。

脇:私は人々がthencatchをマングースと使用したい理由がわかりません。 IMOは不要と思われ、コードを長くします。

私は単純に、このようなあなたのコードに書き換えます:

router.get('/enrolledin', (req, res) => { 
    Enrolled.findDetails((err, users) => { 
     if (err) 
      return res.send('error found', err); 
     res.json(users); 
    }); 
}); 

module.exports.findDetails = (callback) => { 
    db.enrolleds.aggregate([ 
     { 
      $lookup: { 
       from: 'classstores', 
       localField: 'classID', 
       foreignField: 'classKey', 
       as: 'matching' 
      } 
     } 
    ], callback); 
};