[英]Returning a Mongoose Aggregate Function to Angular
我試圖弄清楚如何將聚合函數返回到Angular,但是我一直遇到錯誤。 我真的很堅持這一點,希望對我做錯的事情有所幫助。 我收到一條錯誤消息,告訴我無法讀取undefined的屬性“聚合” 。
這是我的角度連接到的路線:
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;
}
我相信聚合 (滾動到示例)期望數組不是對象。
旁白:我不知道為什么人們愛用then
和catch
與貓鼬。 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);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.